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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.05.2014, 23:35   #1
pafka
 
Регистрация: 17.09.2010
Сообщений: 6
Сообщение Prolog - Дерево

Ребята, очень прошу вашей помощи в решении вот такой задачи -
По заданному дереву посчитать количество каждого из заданных элементов
pafka вне форума Ответить с цитированием
Старый 05.05.2014, 04:50   #2
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,577
По умолчанию

Что именно не получается?
Как задано дерево?
Какой диалект пролога?
rrrFer вне форума Ответить с цитированием
Старый 05.05.2014, 06:43   #3
pafka
 
Регистрация: 17.09.2010
Сообщений: 6
По умолчанию

если честно, то не знаю, как вообще делать эту задачу.

Как задать дерево в условии не указано, но, я думаю, логичнее будет представить дерево таким образом - tree(LeftT,Root,RightT).
И вот так, к примеру, его задать - tree(tree(tree(nil,D,nil),B,tree(ni l,C,nil)),ROOT,tree(nil,E,nil))

задачи запускаю на SWI-prolog'е (SWI-Prolog 6.6.5)
pafka вне форума Ответить с цитированием
Старый 05.05.2014, 09:28   #4
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,577
По умолчанию

Не вы ли мне в скайп сегодня написать пытались, но так и не написали?

Цитата:
Как задать дерево в условии не указано, но, я думаю, логичнее будет представить дерево таким образом - tree(LeftT,Root,RightT).
Не логичнее. В условии не сказано что дерево бинарное, а вы задали именно бинарное дерево.

Я бы задал дерево так примерно:

(node1, [(node2, []), (node3, [(node4,[])], (node5,[])])

тут вот такое дерево
Код:
     2
1   3    4
     5
корень слева, листья справа.

Дак еще раз, в чем конкретно проблема?

Последний раз редактировалось rrrFer; 05.05.2014 в 09:31.
rrrFer вне форума Ответить с цитированием
Старый 05.05.2014, 10:03   #5
pafka
 
Регистрация: 17.09.2010
Сообщений: 6
Сообщение

нет, в скайп не писал. ждал ответа здесь)

хм, просто я не думаю, что нужно что-то сложнее бинарного дерева. но я думаю, что не суть как именно задать дерево.

А конкретно - проблема в том, что написать сам алгоритм "подсчета количества каждого из заданных элементов" я не могу.
pafka вне форума Ответить с цитированием
Старый 05.05.2014, 18:41   #6
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,577
По умолчанию

но на С++ можешь? или на другом языке?
rrrFer вне форума Ответить с цитированием
Старый 05.05.2014, 20:29   #7
pafka
 
Регистрация: 17.09.2010
Сообщений: 6
По умолчанию

да, конечно, могу
pafka вне форума Ответить с цитированием
Старый 05.05.2014, 21:41   #8
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,577
По умолчанию

Цитата:
да, конечно, могу
Так и быть.

Произвольное дерево (не бинарное). Надо посчитать количество каждого из заданных элементов.
Ты пишешь на С++, я переписываю на прологе.
rrrFer вне форума Ответить с цитированием
Старый 05.05.2014, 22:41   #9
pafka
 
Регистрация: 17.09.2010
Сообщений: 6
Сообщение

а на с# могу? на нем мне сподручнее.
pafka вне форума Ответить с цитированием
Старый 08.05.2014, 08:40   #10
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,577
По умолчанию

Напиши на любом языке, я перепишу на прологе )
rrrFer вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Prolog hilos Помощь студентам 0 16.06.2013 19:40
Prolog igrokk Помощь студентам 5 03.05.2013 19:30
prolog Onni Помощь студентам 6 07.01.2013 22:27
Prolog Darck Angel Софт 0 17.01.2010 20:32
Prolog Zeraim Общие вопросы Delphi 1 14.05.2008 18:01