Инициализация двумерного массива в С++

269 прочитали

С одномерными массивами обычно не возникает сложностей даже у новичков. Ну разве что приходится привыкать к тому, что, например, в С/С++ и многих других языках нумерация элементов массива начинается с нуля.

А вот с массивами большей размерности немного сложнее. Здесь уже можно запутаться (даже я иногда путаюсь, особенно когда перехожу с одного языка на другой))).

Массивы могут быть многомерными. В три и более размерностей погружаться не будем - это сносит башню у любого и применяется довольно редко. А вот с двумерными массивами необходимо разобраться, потому что они используются часто.

Наиболее частое использование двумерных массивов - это классическая матрица (или таблица). Матрица может быть представлена в “двух измерениях” - она содержит строки и столбцы. Одно измерение - это строки, другое - столбцы. Пример:

//Матрица 6х3 (таблица 6х3)
int matrix[6][3];

Этот двумерный массив содержит два измерения - это двумерная матрица 6х3 элементов (то есть она в общей сложности содержит 6х3 = 18 элементов). Условно можно считать, что это таблица, состоящая из 6-ти строк и 3-х столбцов. Но это условно. Потому как что будет строками, а что - столбцами, зависит лишь от того, как вы это воспринимаете.

Один угол такой матрицы (условно левый верхний) будет представлен элементом matrix[0][0]. Другой угол матрицы (условно правый нижний) будет представлен элементом matrix[5][2].

Заполнить матрицу можно, например, так:

for (int c = 0; c < 6; c++)
for (int r = 0; r < 3; r++)
matrix[c][r] = (c + 1) * 100 + r + 1;

Здесь мы условно считаем, что во внешнем цикле мы перебираем столбцы таблицы, а во вложенном - строки.

Двумерный массив можно инициализировать также, как и одномерный. Пример:

С одномерными массивами обычно не возникает сложностей даже у новичков.

Здесь в действительности выполняется инициализация шести одномерных массивов, каждый из которых содержит по три элемента.

Такой код заполнит матрицу теми же числами, что и в примере выше, только писанины будет больше ))) Но зато вычислений меньше и не потребуется тратить время процессора на выполнение двух циклов, один из которых вложенный.

Ну и напоследок полезный для новичков способ вывода двумерного массива в виде таблицы. В верхней части рисунка код, а в нижней - результат работы этого кода:

С одномерными массивами обычно не возникает сложностей даже у новичков.-2

На этом всё. Подписывайтесь на канал, чтобы ничего не пропустить.