Работа с матрицами
Матрица – это двухмерный массив, который можно представить себе как совокупность строк (или совокупность столбцов). Положение элемента в массиве определяется двумя индексами: номером строки и номером столбца. Нумерация, как и для одномерных массивов, начинается с нуля. Объявление двухмерного массива выполняется аналогично объявлению одномерных массивов. Так следующее объявление создает двухмерный массив (матрицу) целых чисел из четырех строк и двух столбцов. Элементам массива при этом автоматически присваивается значение ноль. int[, ] array = new int[4, 2]; Отображение значений и типа элементов массива в окне Локальные после выполнения кода: Для массива из 4-х строк (как в данном примере) строки нумеруются от 0 до 3. Аналогично для столбцов.Массив можно инициализировать при объявлении, как показано в следующем примере: int[, ] array4 = { { 1, 2 }, { 3, 4 }, { 5, 6 }, { 7, 8 } }; Отображение значений и типа элементов массива в окне Локальные после выполнения кода:Доступ к элементу массива осуществляется указанием двух индексов. Например: array4[2, 1] = 25;В результате второму элементу третьей строки будет присвоено значение 25. Каждая строка (и каждый столбец) матрицы представляет собой одномерный массив. Поэтому при обработке матриц в основном используются типовые алгоритмы обработки одномерных массивов. При работе с матрицами, как правило, используются вложенные циклы, так как, например, в цикле по строкам необходимо получить доступ к каждому элементу строки, т.е. организовать цикл по столбцам. Ввод матриц можно осуществлять поэлементно с использованием вложенных циклов. Элементы матрицы вводятся, как правило, по строкам. После ввода каждого элемента необходимо нажать клавишу [Enter]. Вывод матриц должен осуществляться в наглядной форме, т.е. каждая строка матрицы должна выводиться в новую строку экрана с использованием подходящего формата. int[, ] a = new int[3, 3]; for (int i = 0; i < 3; i++) for (int j = 0; j < 3; j++) { string s = Console.ReadLine(); a[i, j] = int.Parse(s); } for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) Console.Write(" {0: d} ", a[i, j]); Console.WriteLine(); }
|