Динамічні багатовимірні масиви в Паскалі

Динамічні багатовимірні масиви в 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]));

Код всієї процедури:

Отримуємо: Динамічні багатовимірні масиви в Паскалі

такий результат.