Читайте также: |
|
Массивы могут иметь несколько измерений. Например, матрица - это двухмерный массив. В примере показано объявление двухмерного и трёхмерного массивов:
int[,] my_matrix1 = new int[4, 2];int[,,] my_cube1 = new int[4, 2, 3];Массив можно инициализировать при объявлении, как показано в следующем примере:
int[,] array2D = new int[,] { { 1, 2 }, { 3, 4 }, { 5, 6 }, { 7, 8 } };int[,,] array3D = new int[,,] { { { 1, 2, 3 } }, { { 4, 5, 6 } } }; int[,] array4 = { { 1, 2 }, { 3, 4 }, { 5, 6 }, { 7, 8 } };Если нужно создать переменную массива без инициализации, то необходимо использовать оператор new, чтобы присвоить массив переменной. Например:
int[,] array5;array5 = new int[,] { { 1, 2 }, { 3, 4 }, { 5, 6 }, { 7, 8 } }; // OK//array5 = {{1,2}, {3,4}, {5,6}, {7,8}}; // Будет ошибка!В следующем примере кода переменные массивов инициализируются значениями по умолчанию:
int[,] array6 = new int[10, 10];Доступ к каждому элементу массива можно осуществить через квадратные скобки. Индексация многомерных массивов начинается с нуля:
array5[2, 1] = 25;Пример 1: осуществить ввод и распечатку содержимого матрицы
//описываем необходимые переменныеint i,j, M,N; string s;//вводим число элементовConsole.Write("Введите число строк матрицы N=");s = Console.ReadLine();N = Convert.ToInt32(s);Console.Write("Введите число столбцов матрицы M=");s = Console.ReadLine();M = Convert.ToInt32(s); //создаём двухмерный массив необходимой длиныint[,] my_matrix= new int[N,M]; //запускаем циклы по всем элементам матрицыfor (i = 0; i < N; i++) //цикл по строкам for (j = 0; j < M;j++) //цикл по столбцам { //вводим i,j-ый элемент Console.Write("Введите элемент матрицы ({0},{1}) ", i+1,j+1); s = Console.ReadLine(); my_matrix[i,j] = Convert.ToInt32(s); }Console.WriteLine();for (i = 0; i < N; i++) { for (j = 0; j < M; j++) Console.Write("{0,3} ", my_matrix[i, j]); Сonsole.WriteLine(); }
Рисунок 1 - Пример выполнения
Пример 2: преобразовать содержимое матрицы так, чтобы в каждой строке была возрастающая последовательность
int i,j,k,b,M,N;int[,] my_matrix = new int[,] { { 1, 3, 4}, { 1, 4, 8 }, { 5, 8,6 }, { 7, 8, 2 } };N = 4; M = 3; for (i = 0; i < N; i++) //цикл по строкам for (j = 0; j < M-1; j++) //цикл по столбцам for (k = 0; k < M - j-1; k++) if (my_matrix[i, k] > my_matrix[i, k+1]) { b = my_matrix[i, k]; my_matrix[i, k] = my_matrix[i, k + 1]; my_matrix[i, k + 1] = b; }
Рисунок 2 - Пример выполнения
Дата добавления: 2015-07-24; просмотров: 61 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Bosch Junior Maxi – корм для щенков крупных и гигантских пород | | | Двумерные массивы |