Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.10.2011, 12:52   #1
lilian
 
Регистрация: 06.10.2011
Сообщений: 5
По умолчанию Пролог - Дерево.

Всем Привет! Вот задание: определить длину (число ветвей) пути от корня дерева до ближайшей вершины с заданным значением, если такая вершина отсутствует, ответ- "-1". Мне помогли сделать лабу вот код:
domains
list=integer*.
tree=der(tree,integer,tree);
nil.
predicates
inside(integer,tree,list).
count(list,integer,integer).
clauses
inside(X,der(_,X,_),[X]).
inside(X,der(L,Kor,_),[Kor|Put]):-
Kor>X,
inside(X,L,Put).
inside(X,der(_,Kor,R),[Kor|Put]):-
X>Kor,
inside(X,R,Put).
count([_|T],N,NN):-N1=N+1,count(T,N1,NN).
count([],N,N).
goal
clearwindow,
write("Enter Element:\n"),
readint(E),
inside(E,der(der(der(nil,1,nil),2,n il),3,der(der(nil,4,nil),5,nil)),Sp i),
N=-1,
count(Spi,N,NN),
write("dlina min puti = ",NN);
write("element ne naiden!").

Преподаватель сказал что дерево должно быть неупорядоченным. Мы должны пройтись по всему дереву и выбрать наименьший путь до заданной вершины. Этой вершины может быть сколько угодно в дереве.
Помогите кто сможет переделать! Буду очень признательна.
lilian вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Пролог - Дерево. lilian Помощь студентам 4 13.10.2011 19:37
Пролог slipokorn Помощь студентам 0 10.05.2011 03:02
Пролог slipokorn Помощь студентам 0 08.05.2011 14:42
ПРОЛОГ s2dentishe Помощь студентам 1 09.04.2011 19:13
ПРОЛОГ Иринкаа Помощь студентам 7 09.12.2009 02:17