Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [prolog]Найти число вхождений элемента Е в дерево


Автор: nastushaa 19.12.2012, 20:03
Помогите пожалуйста решить задачу с деревьями на прологе:
Определить число вхождений элемента Е в дерево Т

Автор: Фантом 19.12.2012, 21:56
Как именно описано дерево?

Автор: nastushaa 20.12.2012, 20:02
не знаю, в условии задачи ни чего про это не сказано.просто Найти число вхождений элемента Е в дерево Т на турбо  прологе и необходимо вводить дерево и элемент с клавиатуры.ни как не могу разобраться(

Автор: Фантом 20.12.2012, 20:21
Тогда определите это сами.

Автор: nastushaa 20.12.2012, 22:09
нужно бинарное дерево

Автор: Фантом 21.12.2012, 00:17
Ну хоть что-то. Тогда, например, так:
Код

counttree(E,E,1).
counttree(t(A,B),E,C):-counttree(A,E,C1),counttree(B,E,C2), C is C1+C2.
counttree(_,_,0).

Каждый узел может содержать либо t(дерево, дерево), либо что-то другое (конечный лист). Соответственно, вызов вроде:
Код

counttree(t(t(1,2),t(t(2,3),3)),3,R).

даст количество листов, содержащих тройки.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)