Цель работы: формирование навыков работы с двумерными массивами в C#.
Введение
В языке C# различают двумерные массивы двух видов: прямоугольные (таблица с одинаковым количеством элементов в строках) и ступенчатые. При- меры описания прямоугольных двумерных массивов:
int[,] a; // объявлена только ссылка, память под элементы не выделена; int[,] b = new int[2, 3]; // 2 строки, 3 столбца, элементы равны 0 int[,] c = { {1, 2, 3}, {4, 5, 6} }; // размерность вычисляется
int[,] d = new int[2,3] { {1, 2, 3}, {4, 5, 6} }; // избыточное описание.
К элементу двумерного массива обращаются, указывая номер строки и столбца, на пересечении которых он расположен b[i,j]. Первый индекс всегда воспринимается компилятором, как номер строки.
Пример 1
Формирование и вывод двумерного массива заданных чисел.
Создадим проект сon141. Наберем код программы в теле метода Main:
// формируем прямоугольный массив чисел из двух строк
int[,] ar = { { 11,12,13,14,15 }, { 21,22,23,24,25 } };
// с помощью foreach все элементы выводятся в одну строку
foreach (int x in ar) Console.Write("{0,4}", x); Console.WriteLine();
// выводим числа построчно (в форме таблицы)
for (int i = 0; i < 2; i++)
{
for (int j = 0; j < 5; j++) Console.Write("{0,4}", ar[i,j]); // j-я строка
Console.WriteLine(); // переход на следующую строку
}
Console.ReadKey();
Протестируем программу. Откорректируем программный код.
Пример 2
Формирование и вывод таблицы чисел.
Создадим проект сon142. Наберем код программы в теле метода Main:
Console.Write("Введите количество строк (n<9): "); int n = int.Parse(Console.ReadLine()); Console.Write("Введите количество столбцов (m<9): "); int m = int.Parse(Console.ReadLine());
// объявляем массив чисел из n строк и m столбцов
int[,] mas = new int[n, m];
// построчно заполняем массив целыми числами
for (int i = 0; i < n; i++)
{
for (int j = 0; j < m; j++) mas[i,j] = 10*i + j; // i-я строка
}
// построчно выводим элементы массива (в форме таблицы)
for (int i = 0; i < n; i++)
{
for (int j = 0; j < m; j++)
Console.Write("{0,4}", mas[i,j]); // вывод элементов i-й строки
Console.WriteLine(); // переход на следующую строку
Достарыңызбен бөлісу: |