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

Если количество типов индекса в описании массива равно 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 размещаются в памяти в следующей последовательности:

 
 
d [1, 1, x], d [1, 1, y], d [1, 2, x], d [1, 2, y], d [1, 3, x], d [1, 3, y], d [2, 1, x], d [2, 1, y], d [2, 2, x], d [2, 2, y], d [2, 3, x], d [2, 3, y].


Для ввода и вывода многомерных массивов используются вложенные циклы. В качестве примера приведем фрагмент программы вывода в виде таблицы описанного выше массива 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;


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: