Forum.iFiction.Ru

iFiction.Ru · ifHub · FAQ · IFWiki · QSP · URQ · INSTEAD · AXMA

форум об interactive fiction, текстовых приключенческих играх и всём таком...

Вы не зашли.

0    0    #1
14.06.2006 05:52

Belial
Участник
Зарегистрирован: 24.04.2006
Сообщений: 121
Вебсайт

КАК НА ПАСКАЛЕ ЗАДАТЬ МССИВ?

Ситуевина следующая... кк задается массив я стестно знаю, но мне нужен массив, размер которого мне заранее неизвестен - размер задает пользователь. если задаю переменную, скажем 'n' и пишу затем - mas: array[1..n] - ругается матом.

помогите плз

Неактивен

0    0    #2
23.08.2007 07:49

Sfunx
Участник
Зарегистрирован: 22.08.2007
Сообщений: 11

Re: КАК НА ПАСКАЛЕ ЗАДАТЬ МССИВ?

Есть в паскале, если память не изменяет, функция Function Malloc (Size : Longint) : Pointer; которая выделяет память возвращает указатель на массив размером Size байт.

Скажем, тебе надо выделить произвольный массив :

type
    pmas = ^array [1..1000000] of integer; {Размер заданный тут - формальный, он не имеет значения.}



................
begin
    pmas = Malloc(10000*sizeof(integer)); {выделяем паямть размером 10000 элементов каждый из которых - integer }
.....
    pmas^[5] =6; {работа с массивом}
.....
    a = pmas^[5]; {работа с массивом}
.....

delete(pmas); {Массив больше не нужен. очищаем выделенную паямть! Не забываем этого делать!}
end


Ещё вспомнил! в некоторых реализациях паскаля функция delete() называется free() !
Если идея непонятна - могу написать подробнее. (правда паскалем лет 10 не пользуюсь - но ещё кое-что помню).

Отредактировано Sfunx (23.08.2007 07:53)

Неактивен

Powered by PunBB
© copyright 2001–2026 iFiction.Ru