Динамические многомерные массивы в Паскале

Что такое динамические многомерные массивы в Паскале?

Динамические многомерные массивы в Pascal

Пример динамического многомерного массива:

type TByteMultiMassiv = array of array of Byte;

здесь объявлен тип динамический двумерный массив для элементов типа Byte.

Экземпляр массива типа TbyteMultiMassiv:

byteMassiv: TbyteMultiMassiv;

Измерения нашего массива не известны. Сначала задаём количество столбцов в массиве:

SetLength(byteMassiv, 3);

здесь указано, что массив будет содержать три столбца.

Теперь можно определить число строк в каждом столбце. Мы установим в первом столбце одну строку, во втором – две, в третьем – три:

SetLength(byteMassiv[0], 1);
SetLength(byteMassiv[1], 2);
SetLength(byteMassiv[2], 3);

Теперь можно заполнить массив числами типа Byte:

byteMassiv[0, 0] := 0; byteMassiv[0, 1] := 1; byteMassiv[0, 2] := 2;
byteMassiv[1, 1] := 3; byteMassiv[1, 2] := 4;
byteMassiv[2, 2] := 5;

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

Writeln('[0, 0] = ' + IntToStr(byteMassiv[0, 0]) + '; [0, 1] = ' + IntToStr(byteMassiv[0, 1]) + '; [0, 2] = ' + IntToStr(byteMassiv[0, 2]));
Writeln('[1, 1] = ' + IntToStr(byteMassiv[1, 1]) + '; [1, 2] = ' + IntToStr(byteMassiv[1, 2]));
Writeln('[2, 2] = ' + IntToStr(byteMassiv[2, 2]));

Код всей процедуры:

Получаем: Динамические многомерные массивы в Паскале

Динамические многомерные массивы в Паскале.