Работа с матрицами
Матрица – это двухмерный массив, который можно представить себе как совокупность строк (или совокупность столбцов). Положение элемента в массиве определяется двумя индексами: номером строки и номером столбца. Нумерация, как и для одномерных массивов, начинается с нуля. Объявление двухмерного массива выполняется аналогично объявлению одномерных массивов. Так следующее объявление создает двухмерный массив (матрицу) целых чисел из четырех строк и двух столбцов. Элементам массива при этом автоматически присваивается значение ноль.
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();
}
Дата добавления: 2015-02-07; просмотров: 885;