Тема 9. МАТРИЦЫ
Понятие матрицы
Матрицы активно используются в математике, программировании, экономике и многих других науках и сферах человеческой деятельности. Работа с матрицами обычно реализуется при помощи вложенных циклов в явном виде: внутренний цикл не выносится в отдельную функцию, поскольку сама структура матрицы, можно сказать, требует использования вложенных циклов.
Понятие матрицы можно давать по-разному в зависимости от того, где эта матрица используется. Наиболее просто матрицу M на N можно определить как таблицу, состоящую из M строк и N столбцов, причём все элементы матрицы имеют один и тот же тип. Для обращения к определённому элементу матрицы указывается название матрицы, а также номера строки и столбца. Например, запись Aij означает элемент матрицы A, расположенный в i-ой строке и j-ом столбце.
Матрицы в программировании
С точки зрения программирования матрица представляет собой двумерный массив M на N. Для объявления матрицы используется следующая запись:
int matrix[100][200];
float coefficients[10][100];
char strings[100][20];
bool flags[50][50];
Числа указывают на то, сколько строки и столбцов будет содержать матрица. В качестве размера матрицы, как и в случае с одномерным массивом, следует указывать константы, а не переменные, поэтому следующий фрагмент код является ошибочным:
int m=10, n=20;
//Ошибка!
int matrix[m][n];
В то же время следующий фрагмент верен:
const int m=10, n=20;
int matrix[m][n];
Теперь рассмотрим, как работать с матрицами: заполнять матрицу, выводить её на экран, обращаться к её элементам.