Использование многомерного массива

Материал из 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