Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Циклический список

Автор: Jill 13.09.2005 18:07

ПЛЗ!!!
помогите, пожалуйста!!!
шарилась по инету - по циклическим спискам не могу найти описаловку процедур вставки, удаления и печати!!! sad.gif а литературы вообще нет...

еще бы среднее арифметическое найти, но с этим я справлюсь...

Автор: volvo 13.09.2005 19:07

Ну, и чем же, по-твоему, "кольцо с замком" так сильно отличается от обычного, НЕкольцевого списка? Телько тем, что в "замок" записывается заранее определенное значение, которое больше не может в списке встречаться (для надежной идентификации). И всё !!! В остальном - никаких отличий нет. Если ты ВНИМАТЕЛЬНО прочтешь вот эту тему:
http://forum.pascal.net.ru/index.php?showtopic=2706&view=findpost&p=40860
, то дальше проблем (с учетом вышесказанного) быть не должно.

Автор: Guest 13.09.2005 19:21

у меня проблема с указателем последнего на первый элемент :-( голова уже квадратная - что куда переставить, чтоб список закольцевать??? ууууууууу :-(

Автор: volvo 13.09.2005 19:31

Ну, например, вот так:

Type
PItem = ^TItem;
TItem = Record
Data : Integer;
Next : PItem;
End;
...
Var Ring: PItem;

Begin
Ring := new(PElement);
With Ring^ Do Begin
Data := 0; next := Ring; { <--- уже "закольцовано" }
End;
...
End.

После этого значение = 0 в списке использоваться НЕ ДОЛЖНО...

Автор: Guest 13.09.2005 19:39

спасибо! :-)

правда, у меня с нулями этими - прям заговор / предыдущая лаба - по очередям - "0- признак окончания ввода элементов очереди" / но это не страшно - главное в процедурах разобраться

еще раз спасибо ;-)

Автор: Altair 13.09.2005 20:59

http://pascal.dax.ru/files/books/kolco_spis.zip

Автор: Jill 14.09.2005 0:05

пасиба, теперь есть на что опереться... :-)
переписать ввод данных без нуля, по-моему IOResult подойдет...

пасиба за помощь, а то времени совсем мало осталось :-)