Форум программистов, компьютерный форум, киберфорум
Prolog
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
5 / 5 / 3
Регистрация: 29.03.2009
Сообщений: 37
1

Найти среднее геометрическое положительных вершин дерева

14.03.2013, 22:47. Показов 1335. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Найти среднее геометрическое положительных вершин дерева.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.03.2013, 22:47
Ответы с готовыми решениями:

Для каждого бинарного дерева найти среднее арифметическое положительных вершин
Дано число и список, элементы которого — непустые бинарные деревья с числами в качестве вершин. Для...

Найти среднее геометрическое введенного списка
Организовать ввод и формирование целочисленного списка с проверкой. Найти среднее геометрическое...

Деревья. Преобразование дерева в список. Вывод списка в списке. Найти среднее арифметическое всех элементов
Дан список, элементы которого — непустые бинарные деревья с числами в качестве вершин. Для каждого...

Сумма вершин дерева
Определите предикат tree_sum(T,S), так чтобы S равнялось сумме всех чисел-узлов, входящих в дерево...

1
Модератор
Эксперт функциональных языков программированияЭксперт Python
36601 / 20330 / 4220
Регистрация: 12.02.2012
Сообщений: 33,640
Записей в блоге: 13
27.10.2014, 18:53 2
Prolog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
domains
treetype = tree(real, treetype, treetype); empty
 
predicates
counter_p(treetype,real)
sum_p(treetype,real)
avg_p(treetype,real)
pow(real,real,real)
 
clauses
 
pow(X,N,Z):- Z=exp(N*ln(X)).
 
counter_p(empty,0.0).
counter_p(tree(V,L,R),N) :- V<=0, counter_p(L,LP), counter_p(R,RP), N=LP+RP.
counter_p(tree(V,L,R),N) :- V>0, counter_p(L,LP), counter_p(R,RP), N=LP+RP+1.
 
sum_p(empty,0.0).
sum_p(tree(V,L,R),N) :- V<=0, sum_p(L,LP), sum_p(R,RP), N=LP+RP.
sum_p(tree(V,L,R),N) :- V>0, sum_p(L,LP), sum_p(R,RP), N=LP+RP+V.
 
avg_p(T,V) :- counter_p(T,N), sum_p(T,S), N > 0, N1=1/N, pow(S,N1,V).
avg_p(T,0) :- counter_p(T,N), abs(N)<1, write("No positive nodes!"),nl.
 
goal
avg_p(tree(-6,tree(7,empty,empty),tree(8,empty,tree(-1,empty,empty))),Z),write(Z),nl.
0
27.10.2014, 18:53
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.10.2014, 18:53
Помогаю со студенческими работами здесь

Определить число вершин дерева
Привет. Начали изучать пролог и у меня появилась проблема с решением задачи. Подскажите пожалуйста...

Произведение листьевых вершин дерева
я вот вроде сделал, но на экране выдается либо правильный результат, либо 0. что нужно исправить...

Число листьевых вершин дерева
число листьевых вершин дерева, как убрать сумму чисел в листьевых вершинах? DOMAINS treetype...

Найти среднее арифметическое и среднее геометрическое положительных элементов матрицы
Найти среднее арифметическое и среднее геометрическое положительных элементов матрицы. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru