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
15.06.2006 12:11

Korwin
Гоблин, зеленый от недосыпа (+188, -16)
Откуда: Екатеринбург
Зарегистрирован: 27.11.2007
Сообщений: 796
Вебсайт

У трав, растущих на мягкой земле - слабые корни. (с)Korwin

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

Belial написал:

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

помогите плз

По Паскалю я не спец, но могу подсказать тупую, но рабочую идею: сделать массив с запасом - 1000-10000 элементов, проверять пользователя на ввод значения n не больше максимума и введенное значение n использовать как ограничитель в операторе цикла.

Неактивен

0    0    #3
15.06.2006 13:09

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

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

Голова smile Надо попробовать. Спасибо.

А я уже накопал кучу инфы и обнаружил что на паскале динамические массивы это большая проблема smile
хтя народ выходит из положения, но все это бардак...

Неактивен

0    0    #4
15.06.2006 20:50

Olegus t.Gl.
Участник (+1053, -249)
Откуда: Москва
Зарегистрирован: 01.03.2001
Сообщений: 2879
Вебсайт

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

Разве что динамические списки, но пушка такого размера не для всякого воробья уместна...
Впрочем, вопросы подобной тематики лучше прояснять на sources.ru: http://forum.sources.ru/index.php?s=a9d … owforum=39

Неактивен

0    0    #5
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)

Неактивен

0    0    #6
23.08.2007 09:12

Nex
Участник (+120, -130)
Зарегистрирован: 11.06.2007
Сообщений: 2053

---

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

Да... ответ через полтора года... хорошо пошутил.

Неактивен

0    0    #7
22.11.2007 14:21

elmortem
Участник
Откуда: Терра
Зарегистрирован: 29.06.2007
Сообщений: 111
Вебсайт

Тихо, идёт запись!

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

SetLength нынче не в моде у новичков?

Отредактировано elmortem (22.11.2007 14:22)

Неактивен

Powered by PunBB
© copyright 2001–2024 iFiction.Ru