Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Можно ли сделать динамический массив в Turbo Pascal?

Илья Добридень Ученик (108), закрыт 10 лет назад
Лучший ответ
xoodoo Мыслитель (5551) 10 лет назад
синтаксически нельзя
Остальные ответы
Капитан Гугл Искусственный Интеллект (146193) 10 лет назад
Напрямую, т. е. array of - нет.
Альтернативы: http://www.mstu .ru/forum/index.php?topic=2464.0
CODEMASTER Мастер (1403) 10 лет назад
можно, примерно так:
{$R-}
{ Отключаем проверку компилятором границ массива. Необходимо для дин. массивов в Турбо Паскале }
Type
MyType={здесь описываешь тип элемента массива, скажем} Word;
Type
MyArray=Array[1..1] of MyType; {Описываем массив всего из 1 элемента}
MyArrayPtr=^MyArray;
Var
DynamicArray: MyArrayPtr; {Это указатель на наш динамически массив}
Count, {Это вводимый размер массива}
I,Size: Word;
Begin
{Вводим размер массива}
Write('Число элементов массива: ');
ReadLn(Count);

{ выделяем под него память: Count x РазмерТипа }
Size:=Count*SizeOf(MyType);
GetMem(DynamicArray,Size);

{заполняем наш массив значениями}
For I:=1 to Count do DynamicArray^[ i. ]:=I; {точку убери в квадратных скобках, майл. ру за тег считает просто}

For I:=1 to Count do
Write(DynamicArray^[ .i ]:4);

{освобождаем зарезервированную память для массива}
FreeMem(DynamicArray,Size)
End.

год назад приходилось писать подобную вещь, только с матрицами
Похожие вопросы