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

Многомерный массив – это массив массивов. Определение многомерного массива в общем случае должно содержать сведения о типе, размерности и количествах элементов каждой размерности. Например, трехмерный массив, заданный конструкцией

kk: array [4,3,2] of INT;

представляет собой массив 4 элементов, каждый из которых – двумерный массив с размерами 3 на 2. Данный массив содержит 24 элемента типа INT, которые в приведенном ниже перечне расположены в порядке возрастания адресов (слева направо):

kk[0,0,0], kk[0,0,1], kk[0,1,0], kk[0,1,1], kk[0,2,0], kk[0,2,1], kk[1,0,0], kk[1,0,1], kk[1,1,0], kk[1,1,1], kk[1,2,0], kk[1,2,1], kk[2,0,0], kk[2,0,1], kk[2,1,0], kk[2,1,1], kk[2,2,0], kk[2,2,1], kk[3,0,0], kk[3,0,1], kk[3,1,0], kk[3,1,1], kk[3,2,0], kk[3,2,1]

Пример

В данном примере показаны различные варианты задания многомерных массивов.

PROGRAM

VAR

//двумерный массив переменных

//INT с заданием  начальных значений

//(ll[0,0]=1, ll[0,1]=2, ll[0,2]=3,

// ll[1,0]=4, [1,1]=5, ll[1,2]=6):

ll: array [2,3] of INT := 1,2,3,4,5,6;

END_VAR

VAR

//двумерный массив строковых

//переменных с указанием диапазонов индексов и

//заданием начального значения первых четырех

//элементов

//(pp[5,9]=pp[5,10]=pp[5,11]="OK",

//pp[6,9]= "NO",

//pp[6,10]= …=pp[7,11]=""):

pp: array[5 .. 7, 9 .. 11] of STRING:=3("OK"), "NO";

END_VAR

//задание значений элементов массивов

ll[1,2] = 17*5;

pp[6,10] = "ERROR";

END_PROGRAM