Как создать массив заранее неизвестной длины?
Стандаpтными средствами Паскаля создать массив заранее неизвестной длины нельзя. В BP можно объявить указатель на массив нужного тебе типа (всего на один элемент массива), а память выделить
под необходимое тебе количество элементов. Однако, общий размер массива для BP не должен превышать размера одного сегманта (64К).
Пpимеp
{$R-} {Это чтоб не было лишних ругательств :) }
Type
MyType={здесь описываешь тип элемента массива, скажем} Word;
Type
MyArray=Array[1..1] of MyType; {Описываем массив всего из 1 элемента}
MyArrayPtr=^MyArray;
Var
DynamicArray: MyArrayPtr; {Это указатель на наш динамически массив}
Count, {Это вводимый размер массива}
I: Word;
Begin
Write('Число элементов массива: '); {Вводим размер массива}
ReadLn(Count);
GetMem(DynamicArray,Count*SizeOf(MyType)); {выделяем по него память}
For I:=1 to Count do DynamicArray^[I]:=I; {заполняем наш массив значениями}
For I:=Count downto 1 do
WriteLn(DynamicArray^[I]); {печатаем массив задом-наперед}
FreeMem(DynamicArray,Count*SizeOf(MyType)) {уничтожаем массив}
End.