1.
Что такое матрица? Создание, вывод на экран
Введение.
Очень часто при работе с какой-либо информацией приходится иметь дело с табличными данными. Современные программы очень часто работают именно с такими данными. Самый простой пример - это программирование игр на клетчатой доске: крестики-нолики, шахматы, шашки и т.п.
В математике такие структуры называются матрицами.
Матрица - это прямоугольная таблица составленная из элементов одного типа (чиcел, строк и т.д).
Такие данные на языке C# можно хранить и обрабатывать в виде двумерных массивов - "массивов массивов".
Чтобы обработать данные в таблице, надо запоминать состояние каждой ячейки (клетки). Каждая ячейка имеет два номера: номер строки и номер столбца.
В матрице каждый элемент имеет два индекса: сначала указывается номер строки, затем номер столбца. Нумерация строк и столбцов начинается с нуля.
Например, элемент A[1, 2]
- это элемент расположенный во второй строке и третьем столбце.
Так же как и с обычными массивами, для того, чтобы работать с матрицами, необходимо научиться их создавать, вводить, обрабатывать и выводить на экран.
Создание матрицы.
Можно создать в памяти матрицу заданного размера, заполненной некоторыми начальными значениями.
int[,] array = new int[4, 2]; // 4 строки, 2 столбца
После создания матрицы можно заполнить ее произвольными значениями. Так как каждый элемент имеет два индекса, то необходимо использовать вложенные циклы
for (int i=1; i <= N, i++) { // N - число строк
for (int j=1; j <= N, j++) { // M - число столбцов
A[i, j] = ...
}
}
Вывод матрицы на экран.
Для обработки и вывода списка, как правило, используется два вложенных цикла. Первый цикл по номеру строки, второй цикл - по элементам внутри строки. Для того, чтобы вывести матрицу на экран построчно, разделяя числа пробелами внутри одной строки, необходимо написать такой фрагмент:
for (int i=1; i <= N, i++) {
for (int j=1; j <= N, j++) {
Console.Write(A[i, j] + " ");
}
Console.WriteLine(); // переход на новую строку
}
То же самое можно сделать, но использовать циклы не по индексу, а по значениям списка (foreach
). Попробуйте сами написать подпрограмму, реализующую это.
Заполните двоичную матрицу (состоящую только из нулей и единиц) в шахматном порядке. В левом верхнем углу должен быть нулевой элемент.
Входные данные: во входной строке записаны через пробел размеры матрицы: количество строк N и количество столбцов M ( 1 <= N , M <= 100 ).
Выходные данные: программа должна вывести двоичную матрицу по строкам.
Пример.
№ |
Входные данные |
Выходные данные |
1 |
4 5 |
0 1 0 1 0
1 0 1 0 1
0 1 0 1 0
1 0 1 0 1 |
Напишите программу
Auto