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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.12.2012, 11:37   #1
Onni
Форумчанин
 
Аватар для Onni
 
Регистрация: 28.12.2008
Сообщений: 134
По умолчанию prolog

Помогите доделать задание. Нужно преобразовать дерево в список таким образом чтобы в список попали только элементы из заданного интервала. Преобразовать дерево в список я сделала, а как сделать дальше? Заранее спасибо)
Onni вне форума Ответить с цитированием
Старый 28.12.2012, 12:25   #2
Smogg
Участник клуба
 
Регистрация: 14.06.2011
Сообщений: 1,138
По умолчанию

То есть, обход всех узлов дерева с проверкой найденных значений на соответствие условию a<x<b и добавление удовлетворяющих значений в список?
Smogg вне форума Ответить с цитированием
Старый 28.12.2012, 17:19   #3
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,577
По умолчанию

Цитата:
Преобразовать дерево в список я сделала
не вижу кода
rrrFer вне форума Ответить с цитированием
Старый 07.01.2013, 21:15   #4
Onni
Форумчанин
 
Аватар для Onni
 
Регистрация: 28.12.2008
Сообщений: 134
По умолчанию

Цитата:
Сообщение от Smogg Посмотреть сообщение
То есть, обход всех узлов дерева с проверкой найденных значений на соответствие условию a<x<b и добавление удовлетворяющих значений в список?
да, да, да)
Onni вне форума Ответить с цитированием
Старый 07.01.2013, 21:18   #5
Onni
Форумчанин
 
Аватар для Onni
 
Регистрация: 28.12.2008
Сообщений: 134
По умолчанию

Цитата:
Сообщение от rrrFer Посмотреть сообщение
не вижу кода
Извините, я сидела тогда с телефона. Вот код:

Код:
tree_list(empty,[]).
tree_list(tr(K,L,R),S):-
   tree_list(L,T_L),
   tree_list(R,T_R),
   conc(T_L,[K|T_R],S).
Onni вне форума Ответить с цитированием
Старый 07.01.2013, 22:15   #6
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,577
По умолчанию

какой диалект пролога?
код лучше целиком написать
rrrFer вне форума Ответить с цитированием
Старый 07.01.2013, 22:27   #7
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,577
По умолчанию

Код:
	conc([],L,L).
	conc([H|T],L,[H|R]):-
		conc(T,L,R).
		
	pt(IL, A, B, E, RL):-
		A < E, E < B, RL = [E|IL];
		RL = IL.
 
	tree_list(empty,[],_,_).
	tree_list(tree(E,L,R),RL,A,B):-
	   tree_list(L,T_L, A, B),
	   tree_list(R,T_R, A, B),
	   conc(T_L, T_R, RTL),
	   pt(RTL, A, B, E, RL).
rrrFer вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Prolog qip2005 Помощь студентам 0 01.12.2011 02:05
Prolog ankatito Помощь студентам 6 13.11.2011 20:53
Prolog Darck Angel Софт 0 17.01.2010 20:32
Prolog Debro Помощь студентам 2 26.12.2009 10:16
Prolog @Katushka@ Помощь студентам 0 03.10.2009 22:44