1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!
| biba |
7.08.2004 17:05
Сообщение
#1
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 19 Пол: Женский Репутация: 0 |
AAAAAAA Почему закрыли мою тему!?
Вопрос в том, что нужно создать дерево из СПИСКА, а не из файла ( из файла- это уже другой пункт моей курсовой и я не думаю, что два разных задания решаются одной программой Написано сумбурно, но как могу так и пишу, по другому это я объяснить не могу. |
![]() ![]() |
| BlackShadow |
10.08.2004 11:55
Сообщение
#2
|
|
Гость |
Цитата без головного элемента что-то новое... список он на то и список, чтобы начинаться и заканчиваться... Ладно, попробую описать работу со списком. ООП, я так понял тебе не знакомо, придётся извращаться... Код Type {Структура описывает элемент списка} PListRec=^TListRec; TListRec=Record Key:Integer; {Ключ} Item:String; {для удобства возбмём элементы спсиска - строки} Next:PListRec {Следующий элемент} End; {Бредовая функция, но преподы её любят. Создаёт пустой список. Мы будем обозначать список Nil'ом} Function List_Create:PListRec; Begin CreateList:=Nil End; {Добавляет элемент Item с ключом Key в список List} Procedure List_Add(Var List:PListRec;Key:Integer;Item:String); Var p:PListRec; Beign New(p); p^.Key:=Key; p^.Item:=Item; p^.Next:=List; List:=p End; {Очищает список освобождая всю память} Procedure List_Clear(Var List:PListRec); Var p:PListRec Begin While List<>Nil Do Begin p:=List^.Next; Dispose(List); List:=p End End; {Проверяет, есть ли элемент с ключом Key в списке. Если есть, то возвращает указатель на элемент списка с этим ключом, иначе - Nil} Function List_Contains(Key:Integer;List:PListRec):PListRec; Var p:PListRec; Begin p:=List; While p<>Nil Do If p^.Key=Key Then Begin Contains:=p; Exit End Else p:=p^.Next; Contains:=Nil End; {Доработанная функция List_Add, которая проверяет, есть ли элемент с таким ключом в списке. Если есть, то изменяет его значение, иначе добавляет его.} Procedure List_Set(Var List:PListRec;Key:Integer;Item:String); Var p:PListRec; Begin p:=Contains(Key); If p=Nil Then Add(List,Key,Item) Else p^.Item:=Item End; Думаю, что это всё, что может понадобиться для работы со списком в данном контексте... Могут быть описки, т. к. пишу без компилятора... Остальное чуть позже... Надо же мне хотя бы вид делать, что работаю |
biba Преобразование списка в дерево 7.08.2004 17:05
BlackShadow Так тема будет оформлена ближе к правилам...
По-п... 9.08.2004 11:12
biba Ну значит так.
В первой части проги создается одно... 9.08.2004 17:31
biba Пасибики :p2:
И еще тогада вопросик, можно :p2:
... 10.08.2004 12:56
APAL Неужели эти процедурки так медленно работают, что ... 10.08.2004 13:12
BlackShadow Я так понял, что идёт попытка чего-то типа
... 10.08.2004 13:32
BlackShadow
Это одно и то же. А по-англицки это звучиь как Fu... 10.08.2004 13:57
biba Спасибики, будем пробовать :P
Насчет рамки => ... 10.08.2004 14:13
Guest Слова затирают рамку.
Без кода сложно сказать, где... 10.08.2004 14:44![]() ![]() |
|
Текстовая версия | 15.11.2025 10:56 |