![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
ALma |
![]()
Сообщение
#1
|
![]() Группа: Пользователи Сообщений: 7 Пол: Женский Репутация: ![]() ![]() ![]() |
Помогите пожалуйста. Все процедуры для огранизации дерева работают. Единственное никак не получается сохранить записи в файл и при повторном запуске их прочитать.
program lab10; |
![]() ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Если заполнение дерева и его просмотр действительно работают правильно, то добавь вот это:
procedure savetree(fn: string; top: treeprt);, и вызывай там, где надо сохранить дерево в файл savetree(имя_файла, корень_дерева), а там, где надо восстановить - loadtree(имя_файла, будущий_корень_дерева)... |
ALma |
![]()
Сообщение
#3
|
![]() Группа: Пользователи Сообщений: 7 Пол: Женский Репутация: ![]() ![]() ![]() |
Исправила, как подсказали, но все равно не работает
|
volvo |
![]()
Сообщение
#4
|
Гость ![]() |
"Не работает" - это не ошибка... Я не знаю, работало ли все правильно ДО того, как внесены исправления. Какие данные вводились?
И потом, я не предлагал ТАК... Я предлагал передавать имя файла, а не саму файловую переменную описывать глобально и тягать ее туда-сюда... Не надо ПЕРЕДЕЛЫВАТЬ, а потом предъявлять претензии... |
ALma |
![]()
Сообщение
#5
|
![]() Группа: Пользователи Сообщений: 7 Пол: Женский Репутация: ![]() ![]() ![]() |
Претензий на самом деле нет никаких. Если я неправильно поняла, это только моя ошибка. Но дело не в этом.
Задание такое, программа должна создавать дерево в файле и создавать его заново при повторном запуске. Только в этом вопрос. Я допускаю, что в моем варианте проги данные сохраняются в файле, но вот считать их оттуда не получается |
volvo |
![]()
Сообщение
#6
|
Гость ![]() |
Ну, смотри: сами процедуры я написал выше... Без изменений добавь их в свою программу. А вызывать - так:
beginТолько что проверил... После сохранения дерева в файл и перезапуска программы дерево успешно считывается... |
ALma |
![]()
Сообщение
#7
|
![]() Группа: Пользователи Сообщений: 7 Пол: Женский Репутация: ![]() ![]() ![]() |
Да, работает, спасибо огромное.
![]() Сообщение отредактировано: ALma - 15.02.2009 22:16 |
TheKnyazz |
![]()
Сообщение
#8
|
Новичок ![]() Группа: Пользователи Сообщений: 15 Пол: Мужской Репутация: ![]() ![]() ![]() |
У меня вот затесался вопросик. Учитывая, что в данном случае мы сохраняем бинарное дерево слева направо, то оно при данном считывания вырождается в линейный список. Следовательно, как я понял, чтоб структура сохранялась процедура сохранения должна выглядеть, как идущая сверху вниз.
procedure savetree(top:treeprt; var tab: derevo); Очень интересно узнать, а можно ли после записи слева направо восстановить структуру дерева? |
![]() ![]() |
![]() |
Текстовая версия | 18.07.2025 13:55 |