Форум программистов, компьютерный форум, киберфорум
Наши страницы
Prolog
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
RTnSL
0 / 0 / 0
Регистрация: 21.12.2011
Сообщений: 3
#1

Минимальный элемент L, минимальный из последних n-1 элементов L и т.д

21.12.2011, 21:26. Просмотров 1294. Ответов 4
Метки нет (Все метки)

*сформировать список L1 из элементов: минимальный элемент L, минимальный из последних n-1 элементов L и т.д.
Вроде бы простая задача - но первая для меня на списки. И последняя в лабораторной. есть даже решение подобной -
сформировать список L1 из элементов: максимальный элемент L, максимальный из первых n-1 элементов L и т.д.:
Prolog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
DOMAINS
i=integer il=i*
 
PREDICATES
p(il,il)
roll(i,il,il,il)
 
CLAUSES
 
p([A|B],C):- roll(A,B,[A],C).
 
roll(A,[B|C],D,E):- B<A, !, roll(B,C,[B|D],E).
roll(A,[_|B],C,D):- !, roll(A,B,[A|C],D). 
roll(_,_,A,A).
 
goal
 p([3,2,7,14,11,9,16,5,23],Out),write (Out).
- и переделать не могу её. А уже сегодня - 22го - нужно сдать.

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.12.2011, 21:26
Ответы с готовыми решениями:

Минимальный элемент списка
у меня такой вопрос, никак не могу разобраться: задача: определить предикат...

Минимальный элемент дерева.
Структуры данных. Деревья. ТУРБО_ПРОЛОГ Запишите последовательность...

Минимальный элемент списка за исключением
День добрый. Нужно в списке найти минимальный элемент, но надо чтобы он не был...

Удалить минимальный элемент из списка
как найти минимальный я знаю, а вот как его удалить - нет. помогите пожалуйста

Максимальный и минимальный элемент. Объяснить шаги
Ребят! Объясните пожалуйста задачку, каждый шаг. Как работает понимаю, а...

4
Грымзик
2477 / 1454 / 34
Регистрация: 14.09.2009
Сообщений: 2,742
21.12.2011, 21:42 #2
Не надо ее переделывать, там мало общего будет. Хоть какие-то попытки предоставьте. Перед сессией без наработок не помогаем. Тем более людям, которые не утраждают себя даже правила форума прочесть.
0
RTnSL
0 / 0 / 0
Регистрация: 21.12.2011
Сообщений: 3
21.12.2011, 21:52  [ТС] #3
Простите, торопился.

Prolog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
DOMAINS
i=integer il=i*
 
PREDICATES
 p(il,il)
 roll(i,il,il,il)
 fmin(il,i)
 fmin(il,i,i)
CLAUSES
 p([A|B],C):- roll(A,B,[A],C).
 roll(A,[B|C],D,E):-
  fmin([B|C],A),roll(A,C,[A|D],E),write(A),nl.
 roll(A,[_|B],C,D):-!,roll(A,B,[A|C],D).   
 roll(_,_,A,A).
 fmin([A|L],Min):- fmin(L,A,Min).
 fmin([B|L],A,Min):- B<A, !, fmin(L,B,Min).
 fmin([_|L],A,Min):- fmin(L,A,Min).
 fmin([],Min,Min).
 
goal
 p([3,2,7,14,11,9,16,5,23],Out),write(Out).
по-моему, куча чуши эти мои наработки. Я, видимо, не понимаю ещё здешнюю рекурсию.
fmin ищет минимальный элемент списка.

Да, версия - турбо-пролог.
0
Грымзик
2477 / 1454 / 34
Регистрация: 14.09.2009
Сообщений: 2,742
21.12.2011, 22:06 #4
Раз хоть что-то делали, то
Prolog
1
2
3
p([H],[H]).
p([H|Tail],[H,TailMin|Tail1]):-p(Tail,[TailMin|Tail1]),H<=TailMin,!.
p([_|Tail],[TailMin,TailMin|Tail1]):-p(Tail,[TailMin|Tail1]).
1
RTnSL
0 / 0 / 0
Регистрация: 21.12.2011
Сообщений: 3
22.12.2011, 11:24  [ТС] #5
Спасибо. Заработало.
0
22.12.2011, 11:24
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.12.2011, 11:24

Рекурсия: Вывести минимальный элемент списка.
Помогите,пожалуйста,решить задачу: На основе данного листинга domains list =...

Поменять в списке максимальный и минимальный элемент местами
1. Простая программа: поменять в списке максимальный и минимальный элемент...

Поменять местами максимальный и минимальный элемент дерева
Помогите решить задачу &quot;Поменять местами максимальный и минимальный элемент...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru