|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
28.12.2011, 03:22 | #1 |
Форумчанин
Регистрация: 04.02.2009
Сообщений: 156
|
Массивы.Процедуры
Помогите, кто может!!проблема состоит в том, что нужно создать программу с неизвестным количеством элементов в массиве.Я пробывал сделать через процедуру, но не получается!! код удалил поэтому прошу помогите,Без предоставления кода!!Прошу не считать лентяем!
Все мы отчасти гении!Но на сколько мы умны настолько же мы и глупы!
|
28.12.2011, 11:23 | #2 |
Форумчанин
Регистрация: 06.01.2011
Сообщений: 369
|
Дык динамические массивы никто не отменял...
При работе с ними можно программно менять число элементов.
Программирую по необходимости
|
28.12.2011, 11:50 | #3 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
1) непонятно, что у Вас подразумевается под "неизвестное количество элементов в массиве"? Динамические массивы?
2) тут всё зависит от того, для какого Паскаля нужен код. если для TurboPascal - то там настоящих динамических массивов НЕ БЫЛО. значит нужно или использовать обычные статические заведомо бОльшего размера, чем может быть задан пользователем, либо использовать хакерские штучки по выделению и доступу к памяти через указатели, либо использовать динамические связанные списки... если же FPC/Delphi, то да. тут всё просто - есть нормальные динамические массивы var Имя : array of ТипЭлемента; 3) зря Вы стесняетесь код свой выкладывать. Хоть было бы понятно, что именно Вы хотите сделать и что не получается.. |
28.12.2011, 15:54 | #4 |
Форумчанин
Регистрация: 04.02.2009
Сообщений: 156
|
требуется сделать в обычном турбо паскале=>нет динамических массивов.Создание массива заведомо большего размера это трата большого количества памяти,что в данном случае не желательно.Я хочу получить границы массива в процедуре или в самой программе а после использовать в программе или процедуре соответственно.Код я не выложил потому что я не сохранил его и мне придется его восстанавливать по памяти и я подумал что может кто-нибудь делал так как я предлагаюю
Все мы отчасти гении!Но на сколько мы умны настолько же мы и глупы!
|
28.12.2011, 23:43 | #5 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
по поводу траты памяти Вы не совсем правы.
сегмент данных в программе EXE под MS DOS выделяется 64 кб. Даже если Вы опишете одну переменную типа byte.. в этом способе хуже другое. По той же причине все переменные не могут занимать БОЛЕЕ 64 кб. т.е. var X[1..50000] of Integer; уже не может быть скомпилировано - будет ошибка, что структура слишком велика... попробуйте "хакерский" вариант. он заключается в следующем трюке: Код:
|
29.12.2011, 00:01 | #6 |
Форумчанин
Регистрация: 04.02.2009
Сообщений: 156
|
Большое спасибо я читал про этот вариант, но подумал сделать через процедуру(т.к. этот вариант "хакерский" в лабе его использовать не рекомендуется)Попробую восстановить код и доработать.Большое спасибо.
Все мы отчасти гении!Но на сколько мы умны настолько же мы и глупы!
|
29.12.2011, 00:17 | #7 | |
Delphi Warrior
Старожил
Регистрация: 15.08.2008
Сообщений: 2,502
|
Цитата:
Он читает зарезервированные операционкой отделы памяти и меняет их чтоль? Почему под словом хакер и хакерский, у некоторых людей ассоциации прямо скажем не приятные(мягко скажем)?
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++ ya.flex-freelance@yandex.ru Icq - 636-954-303 |
|
29.12.2011, 01:31 | #8 |
Форумчанин
Регистрация: 04.02.2009
Сообщений: 156
|
Смысл не в том хакерский или нет у меня нет никаких ассоциаций я просто говорю что такой вариант в лабе не желателен
Все мы отчасти гении!Но на сколько мы умны настолько же мы и глупы!
|
29.12.2011, 01:59 | #9 |
Delphi Warrior
Старожил
Регистрация: 15.08.2008
Сообщений: 2,502
|
Ладно извините, но я не про вас конкретно говорил! )
и так если вам не желательно использовать статик массив заранее большего размера и способ описанный Serge_Bliznykov тоже вам не походит, Может быть вы опишите задание? И тогда уже что-то думать!
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++ ya.flex-freelance@yandex.ru Icq - 636-954-303 |
29.12.2011, 02:07 | #10 |
Форумчанин
Регистрация: 04.02.2009
Сообщений: 156
|
я все сделал используя статический массив большого размера.но все равно спасибо
Все мы отчасти гении!Но на сколько мы умны настолько же мы и глупы!
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Процедуры массивы | 1gorb | Паскаль, Turbo Pascal, PascalABC.NET | 0 | 22.12.2010 22:01 |
Массивы и процедуры | Кэйт | Паскаль, Turbo Pascal, PascalABC.NET | 5 | 19.04.2010 19:58 |
C++ массивы, стоки, процедуры. | daniil2010 | Помощь студентам | 1 | 18.04.2010 15:16 |
Двумерные массивы и процедуры | F(r)an!k | Фриланс | 12 | 30.03.2010 17:46 |
Pascal. Массивы, процедуры. | midletarket | Помощь студентам | 14 | 31.05.2009 22:24 |