Работа с матрицами в C++ заключается в использовании многомерных массивов. Так как в основном, используются табличные матрицы, то и работа идет с двумерными массивами, с помощью которых можно задать строку и столбец.
Инициализация такого массива объявляется строкой
1 |
тип имя_переменной [размер] [размер] = {{элементы первой строки через запятую},{элементы второй строки через запятую}, ... {элементы последней строки через запятую}}; |
или строкой
1 |
тип имя_переменной [размер] [размер]; |
То есть, если у нас есть матрица с 3 строками и 4 столбцами, заполненная целыми числами, то объявить ее можно строкой
1 |
int x[3][4]; |
После объявления, такой двумерный массив пуст, и чтобы его заполнить, как и в случае с массивом, нужно использовать цикл for.
1 2 3 |
for (i = 0; i < 3; i++) for (j = 0; j < 4; j++) x[i][j] = i + j + 2; |
Теперь каждый элемент матрицы равен сумме строки и столбца. В программе добавляется еще 2 чтобы скомпенсировать то, что отсчет в массиве ведется с 0-ого элемента, а не с 1-ого.
Такого же результата можно достичь с помощью следующего кода:
1 |
int x[3][4]={{2, 3, 4, 5}, {3, 4, 5, 6}, {4, 5, 6, 7}}; |
Так как двумерный массив это, по факту, массив, у которого каждый элемент является массивом, то можно пойти еще дальше и сделать 3-мерный и более массив. Объявление и заполнение такого массива ничем принципиально не отличается, просто с каждым уровнем вложения добавляется еще один параметр размера и один цикл. Например,
1 |
int x[3][4][5][6]; |
объявляет 4 мерный массив из 360 элементов.