![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| SlaUr |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 408 Регистрация: 18.9.2003 Репутация: 3 Всего: 5 |
Вот забыл как это делается.
Нужен пример динамического массива (одномерного) на паскале. Нужно: Создание нового элемента,обращение к заданному элементу,Удаление элемента массива. |
|||
|
||||
| Guest |
|
|||
|
Unregistered |
Да при попытки обратиться к несуществующи элементам массива ошибка не возникает - буть осторожени |
|||
|
||||
| x77 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1255 Регистрация: 25.3.2002 Репутация: 19 Всего: 22 |
это разве на паскале? я всю жизнь тупил следующим образом:
с обращением всё понятно, я думаю, а насчёт добавления и удаления: я обычно создаю новый массив, в который копирую нужные мне элементы. возможно, наверное, перераспределить память, но я так никогда не делал, потому что в результате всяких ReAlloc'ов может измениться сам пойнтер (при добавлении элемента менеджер памяти пожет засунуть его куда угодно, если он не влазит на старое место, и пойнтер после операции может указывать сосвсем в другое место). ничего страшного в этом нет, но... не нравится мне, в общем: как-то надёжнее кажется создать новый массив самому. -------------------- Я никогда не сопротивлялся искушению, поскольку узнал: что мне не нравится, то меня не искушает. © Джордж Бернард Шоу (Ирландия) |
|||
|
||||
| SlaUr |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 408 Регистрация: 18.9.2003 Репутация: 3 Всего: 5 |
В Паскале такой массив не определяется - это наверное только для delphi
Мне нужна именно возможность добавлять и удалять элементы. Был у меня хороший пример на паскале , да вот не могу найти :-( Помню только что там в типе каждого элемента массива был указатель на следующий элемент массива Это сообщение отредактировал(а) SlaUr - 21.4.2004, 11:19 |
||||
|
|||||
| x77 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1255 Регистрация: 25.3.2002 Репутация: 19 Всего: 22 |
SlaUr, не путай, это стеки, или очереди. динамические массивы делаются именно так, как я тебе написал. но это не единственный способ, можно и по другому:
ну и т.д., влом писать. смысл в том, что каждый элемент ссылается на предыдущий, а первый ссылается на 0. доступен массив начиная с первого элемента. добавление я привёл, при удалении i-го элемента пробегаем в цикле по всем записям (while Next <> nil - т.е., до последнего элемента), на нужной - переприсваиваем Next, саму запись - освобождаем, и вываливаемся из цикла. доступ - по тому же принципу, циклом. собственно, это уже и есть очереди. по технологии доступа, по крайней мере, только в очередях можно было работать только с последним элементом, а здесь - с любым. Добавлено @ 11:38 наврал. "каждый элемент ссылается на предыдущий, а первый ссылается на 0" - каждый элемент ссылается на следующий, а последний - на 0. туплю, сорри. -------------------- Я никогда не сопротивлялся искушению, поскольку узнал: что мне не нравится, то меня не искушает. © Джордж Бернард Шоу (Ирландия) |
|||
|
||||
| poc |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 21.4.2004 Репутация: нет Всего: нет |
Please, напишите код нахождения 10000 простых чисел(Решето Эратосфена)
|
|||
|
||||
| SlaUr |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 408 Регистрация: 18.9.2003 Репутация: 3 Всего: 5 |
x77 Спасибо попробую что-нибудь изобразить (просто хорошие люди попросили сделать задание на Pascal)
|
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |