C++

printf("Hello, World!");

PHP

int main()

if

CREATE TABLE

else

console.log

UPDATE

function

1

0

1

0

1

dev

г. Тверь

Меню

Двумерные массивы

C++. Двумерные массивы

Общие сведения

Двумерный массив - это массив, у каждого элемента которого два индекса (часто такие массивы называют одним словом - матрица).

Объявление двумерного массива

Объявление int Mas[n] создает в памяти одномерный массив: набор пронумерованных элементов, идущих в памяти последовательно. К каждому элементу массива можно обратиться, указав один индекс - номер этого элемента. Чтобы использовать матрицу в программе, ее необходимо так же как и обычный массив объявить, указывая тип данных и два размера (числами или константами) следующим образом: int Mas[n][m]. Данное объявление создает массив из n объектов, каждый из которых в свою очередь является массивом типа int [m]. Также можно (и желательно) сразу задать начальные значения. Например, обнулить все элементы.

Пример 1: Объявление массива размером 3 строки и 3 столбца с произвольными начальными значениями:


    int Mas[3][3] = { {0,1,2},
                      {3,4,5},
                      {6,7,9} };

Пример 2: Объявление массива размером 4 строк и 8 столбцов (размер задаем через переменные) с нулевыми начальными значениями


    int n = 4, m = 8;
    int Mas[n][m] = {};

Для обращения к конкретному элементу матрицы используем две пары скобок, в первой скобке указываем номер строки, во второй - номер столбца. Пример:


    Mas[0][2] = 2;  //нумерация строк и столбцов начинается с нуля

Вывод массива

Для считывания, вывода на экран и обработки двумерных массивов необходимо использовать вложенные циклы. Первый цикл — по первому индексу (то есть по всем строкам), второй цикл — по второму индексу, то есть по всем элементам в строках.

Например, вывести на экран двумерный массив в виде таблицы, разделяя элементы в строке одним пробелом можно следующим образом:


int Mas[n][m];
for(int i = 0; i < n; ++i) {  // Выводим на экран строку i
    for(int j = 0; j < m; ++j)
        cout << Mas[i][j] << " ";
    cout << endl; // Строка завершается символом перехода на новую строку
}

Многомерные массивы

Можно объявлять не только двумерные массивы, но и массивы с большим количеством измерений. Например, объявление int Mas[n][m][l] создает трехмерный массив из n*m*l элементов. Для обращения к каждому элементу такого массива необходимо указать три индекса: Mas[i][j][k], при этом 0 <= i < n, 0 <= j < m, 0 <= k < l. Количество измерений в массиве может быть практически бесконечным (т.е. достаточным для решения любых практических задач).