Использование многомерного массива
Материал из DRKB
Использование многомерного массива[править | править код]
type RecType = integer; { <-- здесь задается тип элементов массива }
const MaxRecItem = 65520 div sizeof(RecType);
type = MyArrayType = array[0..MaxRecItem] of RecType;
type = MyArrayTypePtr = ^MyArrayType;
var MyArray: MyArrayTypePtr;
begin
ItemCnt := 10; { количество элементов массива, которые необходимо распределить }
GetMem(MyArray, ItemCnt * SizeOf(MyArray[1])); { распределение массива }
MyArray^[3] := 10; { доступ к массиву }
FreeMem(MyArray, ItemCnt * SizeOf(MyArray[1])); { освобождаем массив после работы с ним }
end;
Сборник Kuliba
Author: Michael Day
Source: Взято из Советов по Delphi от Валентина Озерова
ID: 00243
type
PRow = ^TRow;
TRow = array[0..16379] of Single;
PMat = ^TMat;
TMat = array[0..16379] of PRow;
var
Mat: PMat;
X, Y, Xmax, Ymax: Integer;
begin
Write('Задайте размер массива: ');
ReadLn(Xmax, Ymax);
if (Xmax <= 0) or (Xmax > 16380) or (Ymax <= 0) or (Ymax > 16380) then
begin
WriteLn('Неверный диапазон. Не могу продолжить.');
Exit;
end;
GetMem(Mat, Xmax * SizeOf(PRow));
for X := 0 to Xmax - 1 do
begin
GetMem(Mat[X], Ymax * SizeOf(Single));
for Y := 0 to Ymax - 1 do
Mat^[X]^[Y] := 0.0;
end;
WriteLn('Массив инициализирован и готов к работе.');
WriteLn('Но эта программа закончила свою работу.');
end.
Source: http://delphiworld.narod.ru
ID: 00791