Если количество типов индекса в описании массива равно n, то массив называют n -мерным. Формально размерность массива не ограничена, но фактически она зависит и от размера базового типа, и от ограничения на объем памяти структурированных типов.
Для представления матриц используются двумерные массивы. Тип первого индекса определяет число строк, а тип второго индекса - число столбцов матрицы. Например,
const ROW=20;
COL=10;
type t_matr=array[1..ROW, 1..COL] of word;
var a: t_matr;
d: array[1..2, 1..3, (x, y)] of real;
Тип t_matr - двумерный массив размером 20х10. Его можно использовать для работы с матрицами порядка не больше чем 20x10. Переменная d - трехмерный массив.
Обращение к элементам многомерных массивов:
Идентификатор - имя массива. Число выражений (индексов) в квадратных скобках должно быть равно размерности массива. Например, a[3, 4], d [2, 1, y].
В памяти двумерные массивы располагаются по строкам. В общем случае элементы многомерных массивов размещаются так, что чем правее индекс, тем быстрее он меняется. Так, элементы массива d размещаются в памяти в следующей последовательности:
|
Для ввода и вывода многомерных массивов используются вложенные циклы. В качестве примера приведем фрагмент программы вывода в виде таблицы описанного выше массива a (i и j - целочисленные переменные):
for i:=1 to ROW do {i - номер строки }
begin
writeln; {переход к новой строке}
for j:=1 to COL do {j - номер столбца}
write(a[i, j]: 7)
end;