Двумерный массив – это одномерный массив, в котором входящие в него элементы являются одномерными массивами.
Введение
Когда имеется задача, в которой необходимо обрабатывать большие информационные объёмы данных одного типа, то для облегчения реализации алгоритма решения этой задачи применяются объектные построения под названием массив.
Под массивом понимается определённая зона памяти, в которой хранится набор однотипных информационных данных, и эта зона обладает своим именем.
Массив можно охарактеризовать следующими параметрами:
Входящими в состав массива элементами, то есть значениями, которые хранятся в определённых ячейках памяти, расположенных на участке, отведённом массиву. Каждая такая ячейка имеет свой адрес. Все элементы массива определяются такими характеристиками:
- Адресом элемента, то есть это адрес первой ячейки памяти, где располагается этот элемент.
- Индексом элемента, то есть его порядковым номером в массиве.
- Значением данного элемента.
Адресом массива, который является фактически адресом первого элемента.
Именем массива, которое является идентификационным признаком, позволяющим обратиться к любому из элементов массива.
Размером массива, а именно числом входящих в него элементов.
Размером элемента, а именно числом байт, которое отведено под один элемент массива.
Объёмом массива, а именно числом байтов, которое отведено в памяти для сохранения всего массива. То есть, под объёмом массива понимается размер одного элемента, который умножен на общее количество элементов.
Двумерные массивы в Си
В языке Си используются массивы одномерной, двумерной и многомерной размерности. Многомерными считаются массивы, имеющие более одного индекса. Многомерный массив возможно представить в виде набора элементов, распределённых по заданным координатам. Интерпретировать в виде графики двумерный массив возможно таким образом:
1 [][][][][]
2 [][][][][]
3 [][][][][]
В этом примере представлен двумерный массив, который имеет размер три на пять, то есть он имеет три строки и пять столбцов. Процесс объявления двумерного массива аналогичен заданию одномерного массива, но, чтобы объявить двумерный массив, необходимо выполнить задание в квадратных скобках размерность по всем направлениям. К примеру, требуется объявить двумерный массив, имеющий размеры восемь на восемь, что аналогично размерам шашечной доски, также имеющей восемь строк и восемь столбцов:
int checkers[8][8]; // задание двумерного массива.
Этим массивом возможно пользоваться для сохранения шашечный партий. Точно так же возможно пользоваться двумерным массивом при сохранении информационных данных в других играх, например шахматных партиях и так далее. Для получения доступа к элементам двумерного массива, необходимо использовать два индекса, которые указывают на номера строк и столбцов. В качестве примера, рассмотрим задание необходимого значения элементу двумерного массива:
1. // выбранному элементу массива будет присвоено значение двенадцать
2. myArray[1][3] = 12;
В приведённом примере задаётся величина двенадцать выбранному элементу двумерного массива myArray, расположенному во второй строке и четвёртом столбце. Графически массив может быть изображён следующим образом:
1 [__][__][__][__][__]
2 [__][__][__][12][__]
3 [__][__][__][__][__]
Не следует забывать, что номера расположения элементов в строках и столбцах отсчитываются от нуля. Таким образом, первый элемент будет иметь нулевой индекс, и поэтому в приведённом примере индексация прописывается с учётом этого обстоятельства, то есть индекс уменьшен на единицу. Ещё следует помнить, что нельзя записывать данные за последним элементом массива. К примеру, если массив состоит из двенадцати элементов, то нельзя пытаться изменить значение элемента, который имеет номер двенадцать, поскольку последний элемент этого массива имеет индекс одиннадцать. А элемента с индексом двенадцать просто нет.
Двумерные массивы в Паскале
Двумерным массивом в Паскале считается одномерный массив, у которого тип элементов тоже представляется как массив, только символьный. Расположение элементов двумерного массива в Паскале тоже задаётся при помощи двух индексов. Они могут быть представлены как матрица или прямоугольная таблица. Приведём пример двумерного массива в Паскале размером три на три, то есть в массиве есть три строчки и каждая состоит из трёх элементов:
Рисунок 1. Массив. Автор24 — интернет-биржа студенческих работ
Все элементы получают индивидуальные номера, аналогично с одномерными массивами, только этот номер определяется двумя числами. А именно это номера строчки и столбика, в которых расположен этот элемент. То есть, нумерация элемента назначает пересечение столбика и строчки, где находится элемент. К примеру, $а_{31}$ является элементом, который расположен в третьей строчке и первом столбике. В Паскале существует ряд методов объявить двумерный массив. Приведём пример, описывающий двумерный массив в Паскале:
Type
Vector = array [1..6] of ;
Matrix= array [1..11] of vector;
Var m: matrix;
В этом примере выполнено объявление двумерного массива в Паскале m, который состоит из одиннадцати строчек, а каждая строка имеет шесть столбиков. К любой i-той строчке возможно обращение как m [ i ], а к любому j-тому элементу в строке i, можно обратиться через m [ i , j ]. Определить тип двумерного массива в Паскале возможно одной строчкой:
Type
Matrix= array [1..5] of array [1..10] of ;
Другой, более простой вариант:
type
matrix = array [1..5, 1..10] of ;
Обратиться к элементам двумерного массива можно следующим образом: M [ i , j ]. То есть это будет считывание элемента, который находится в i-той строчке и в j-том столбике. Следует помнить, что первым индексом указывается строка, а вторым столбец, в противном случае можно обратиться к элементу, которого нет.