1. Заголовок темы должен быть информативным. В противном случае тема удаляется ... 2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения. 3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали! 4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора). 5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM! 6. Одна тема - один вопрос (задача) 7.Проверяйте программы перед тем, как разместить их на форуме!!! 8.Спрашивайте и отвечайте четко и по существу!!!
Фамильное представление ДЕРЕВА, ...графически отобразить...
. Его надо представить в виде префиксной записи. Если не ошибаюсь это выглядит так:
Код
= X / + + C 1 * 1 / 4 D A 2
(ужас какой!!!) А главное - нарисовать в виде фамильного дерева:
Код
=
X /
+ +
C 1 * 1 /
4 D A 2
*)прикреплю файл с нормальным изображением - тут понятно плохо
Я СОВСЕМ не понимаю КАК, вводя выражение (вот ту самую префиксную запись), вывести на экран графическое представление дерева!!! Помогите, плз!!! Я просто не представляю как это сделать и тихо впадаю в панику...
ну не клацает у меня в голове! не клацает!!! не могу понять - для элементов выражения надо зараннее забивать положение (корень-узел-лист), либо есть способ просто ввести выражение и получить графическое представление по заданным параметрам???
_______________ я не волшебник, я только учусь ;) велосипед выдумать не смогу, а исходников похожих у меня нет и найти не получается
Теперь нужно по этой строке построить бинарное дерево (бинарное - если ты хочешь пользоваться процедурой из FAQ-а для отрисовки дерева: FAQ: Деревья (процедура PrintTreeGraph), если хочешь сделать это самостоятельно - дерево может быть не обязательно бинарным...)
Сообщения были разделены в тему Проблема с подключением Graph.TPU, все дальнейшие вопросы связанные именно с подключением модулей решаем там, сюда возвращаемся только для обсуждений по теме...
Jill, попробуй вот это (процедура Build строит дерево из префиксной строки, пока строка для простоты задана константой, можно вводить ее непосредственно в программе... Не забудь добавить реализацию PrintTreeGraph из FAQ):
Uses Crt, Graph;
Type TType = Char; PTTree = ^TTree; TTree = Record Data: TType; Left, Right: PTTree; End;
А что происходит при запуске программы (поточнее) ?
Сообщение отредактировано: Romtek -
--------------------
Romiras HomeLab- материалы и статьи по разработке ПО, моделирование алгоритмов, обработка и анализ информации, нейронные сети, машинное зрение и прочее.
Что видно при нажатии Alt - F5 ? "Error: Graphics not initialized" ?
Сообщение отредактировано: Romtek -
--------------------
Romiras HomeLab- материалы и статьи по разработке ПО, моделирование алгоритмов, обработка и анализ информации, нейронные сети, машинное зрение и прочее.
Jill, к сожалению, это пока не исправляется... Чем больше "глубина" дерева, тем меньше места для рисования остается на каждом последующем уровне. А ты сразу "отобрала" половину экрана для никому не нужной ветви "X=". Я не думаю, что это тоже должно включаться в дерево, т.к. обычно дерево строится по выражению, которое необходимо вычислить (т.е. по выражению справа от знака равенства...)
Но в любом случае, для исправления "наложения" придется переписывать процедуру полностью...
Я не думаю, что это тоже должно включаться в дерево, т.к. обычно дерево строится по выражению, которое необходимо вычислить (т.е. по выражению справа от знака равенства...)
ок, значит так и надо спасибо большое - очень красиво получается и не нуже совсем там этот Х!!! ;)