1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
| compiler |
1.06.2008 15:50
Сообщение
#1
|
|
Человек ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 050 Пол: Мужской Реальное имя: Станислав Репутация: 3 |
Добрый день!
Вот есть такая задачка: Цитата 10. Создайте программой два числовых двоичных дерева. Опишите рекурсивно и нерекурсивно логическую функцию, входными параметрами которой являются два дерева, проверяющую на равенство эти деревья. В программе используйте подпрограммы. рекурсивный вариант у меня получился такой: function equal(const tree0, tree1 :TTree ):boolean;, а вот нерекурсивную функцию как то не получается... поиском нашел похожую задачу ( Help Me! ) , но не понял код... помогите пожалуйста... в атаче моя программа целиком. заранее благодарен. Сообщение отредактировано: compiler - 1.06.2008 20:29 Прикрепленные файлы
003.pas ( 1.8 килобайт )
Кол-во скачиваний: 234-------------------- Спасибо!
Удачи! |
![]() ![]() |
| volvo |
1.06.2008 17:29
Сообщение
#2
|
|
Гость |
Цитата А имеет ли смысл проверять проверять не совпадют ли у них адреса? Хм... Ну, во-первых, адреса-то совпадать и не будут, ты ж идешь не по одному и тому же дереву, а по разным, созданным по-отдельности.Я уж не говорю ничего о том, что наверняка сравнивать значения указателей можно только с нулем, но никак не друг с другом (я про Турбо Паскаль, мы вроде в его разделе)... |
| compiler |
1.06.2008 20:12
Сообщение
#3
|
|
Человек ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 050 Пол: Мужской Реальное имя: Станислав Репутация: 3 |
Цитата Я уж не говорю ничего о том, что наверняка сравнивать значения указателей можно только с нулем, но никак не друг с другом (я про Турбо Паскаль, мы вроде в его разделе)... упс.. осечка вышла.. прошу прощения..Что-то написал, но как-то коряво оно все.. function q(const tree0, tree1 : TTree ):boolean;вроде какие-то тесты проходит... но наверняка можно лучше.... в атаче вся программа(main.pas) и модуль(stack.pas), они реализованны еще хуже, так как писались для тестирования этой функции... Сообщение отредактировано: compiler - 1.06.2008 20:14 Прикрепленные файлы
stack.pas ( 1.12 килобайт )
Кол-во скачиваний: 225
main.pas ( 2.61 килобайт )
Кол-во скачиваний: 212-------------------- Спасибо!
Удачи! |
compiler бинарные деревья, не рекурсивная проверка на равенство 1.06.2008 15:50
volvo Вот тут есть алгоритм нерекурсивного обхода в шири... 1.06.2008 16:05
compiler Вот тут есть алгоритм нерекурсивного обхода в шири... 1.06.2008 16:21
volvo Сравни: деревья
:wink: 1.06.2008 17:01
compiler Сравни: деревья :wink:Да.. У тебя конечно получило... 1.06.2008 17:16
volvo Во-первых, почему стек, а не очередь? Я ж говорил ... 1.06.2008 20:54
compiler Во-первых, почему стек, а не очередь? Я ж говорил ... 1.06.2008 21:26
volvo :blink: По-моему, с очередью как раз гораздо поня... 1.06.2008 22:26
compiler :blink: По-моему, с очередью как раз гораздо понят... 2.06.2008 14:38
volvo Попробуй здесь: Записи с вариантной частью 2.06.2008 14:42
compiler Попробуй здесь: Записи с вариантной частьюпосмотри... 2.06.2008 14:43![]() ![]() |
|
Текстовая версия | 14.12.2025 8:38 |