Двумерные массивы в C++
Двумерный массив в C++ — это структура данных, которая позволяет хранить элементы в виде таблицы, состоящей из строк и столбцов. Если обычный массив можно представить как одну линию ячеек, то двумерный массив напоминает электронную таблицу, шахматную доску или поле игры.
Например, таблица оценок учеников, игровое поле «Крестики-нолики» или карта уровня в игре удобно хранятся именно в двумерном массиве.

Что такое двумерный массив
Обычный массив содержит элементы в одном измерении:
int numbers[5];
Здесь есть пять элементов, расположенных последовательно.
Двумерный массив содержит несколько строк, каждая из которых включает несколько элементов:
int matrix[3][4];
В этом примере создается массив из:
- 3 строк;
- 4 столбцов.

Как объявить двумерный массив
Синтаксис выглядит так:
тип имя[количество_строк][количество_столбцов];
Например:
int table[2][3];
Здесь создается таблица из двух строк и трех столбцов.
Инициализация двумерного массива
Значения можно задать сразу при создании:
int matrix[2][3] =
{
{1, 2, 3},
{4, 5, 6}
};
Получится таблица:
| 1 | 2 | 3 |
| 4 | 5 | 6 |
Также можно позволить компилятору самостоятельно определить количество строк:
int matrix[][3] =
{
{1, 2, 3},
{4, 5, 6}
};
Количество столбцов при этом обязательно должно быть указано.
Доступ к элементам
Для обращения к конкретному элементу используются два индекса.
Например:
int matrix[2][3] =
{
{1, 2, 3},
{4, 5, 6}
};
cout << matrix[0][1];
Результат: 2
Потому что элемент находится в первой строке и втором столбце.
Изменить значение тоже можно через индексы:
matrix[1][2] = 10;
Теперь последний элемент второй строки будет равен 10.
- Запишите ребенка на первый пробный урок
- Оплатите пакет занятий в течение 24 часов
- Получите до 5 уроков в подарок
Ввод элементов массива
Чаще всего данные вводятся с помощью вложенных циклов.
int matrix[3][3];
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 3; j++)
{
cin >> matrix[i][j];
}
}
Внешний цикл проходит по строкам, а внутренний — по столбцам.
Вывод двумерного массива
Для красивого вывода также используются вложенные циклы:
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 3; j++)
{
cout << matrix[i][j] << " ";
}
cout << endl;
}
Если пользователь ввел:
1 2 3
4 5 6
7 8 9
на экране появится:
1 2 3
4 5 6
7 8 9
Зачем нужны вложенные циклы
В двумерном массиве необходимо перебрать сразу два измерения:
- строки;
- столбцы.
Поэтому один цикл отвечает за строки, а второй — за элементы внутри строки.
Схема работы выглядит так:
Строка 0
├─ Столбец 0
├─ Столбец 1
└─ Столбец 2
Строка 1
├─ Столбец 0
├─ Столбец 1
└─ Столбец 2
Понимание вложенных циклов особенно важно при работе с таблицами, матрицами и игровыми полями.
Поможет разобраться с массивами, циклами и другими основами программирования тренер по C++ на бесплатном занятии в международной онлайн-школе Айтигенио.
Где используются двумерные массивы
Двумерные массивы встречаются во многих программах:
- электронные таблицы;
- базы оценок и результатов;
- карты и лабиринты в играх;
- шахматные доски;
- изображения и пиксельная графика;
- математические матрицы;
- системы учета и статистики.
Например, черно-белое изображение можно представить как таблицу чисел, где каждая ячейка хранит информацию о цвете пикселя.
Преимущества двумерных массивов
Основные достоинства:
- удобное хранение табличных данных;
- быстрый доступ к элементам по индексам;
- простая организация строк и столбцов;
- возможность выполнять сложные вычисления над таблицами.
Именно поэтому двумерные массивы считаются одной из важнейших структур данных в программировании.
Итоги
Двумерный массив в C++ — это массив, элементы которого расположены в виде таблицы из строк и столбцов. Каждый элемент имеет два индекса: номер строки и номер столбца. Такие массивы используются для хранения табличных данных, игровых полей, изображений и математических матриц.
Для работы с двумерными массивами обычно применяются вложенные циклы, которые позволяют последовательно обрабатывать каждую строку и каждый столбец. Освоив двумерные массивы, программист получает инструмент для решения множества практических задач — от создания простых игр до обработки больших объемов данных.
Другие термины
Даём знания уже на первом уроке.
Итог: крутой IT-проект!