![]() |
|
|
![]()
|
|
| kasperr |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 24.11.2011 Репутация: нет Всего: нет |
Определить предикат, циклически сдвигающий список на три элемента вправо. Например,
? - sdvig([a, b, c, d, e, f], L). L = [d, e, f, a, b, c] Вот что я сделал:----НО не работает как по заданию весь мозг сломал уже!! sdvig(X,Y,0,Z). sdvig([H|T],F,M,L,W):-scepit(T,[H],F), sdvig(F,L,K,Z),M is K+1. ss(A,F):-sdvig(A,L,3,F). scepit([],L,L). scepit([H|T],L,[H|L1]):-scepit(T,L,L1). %ss([1,2,3,4,5],L). |
|||
|
||||
| kasperr |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 24.11.2011 Репутация: нет Всего: нет |
GNU Prolog 1.3
|
|||
|
||||
| kasperr |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 24.11.2011 Репутация: нет Всего: нет |
Все справился!
sdvig(L,0,L):-!. sdvig([H|T],N,R):-scepit(T,[H],RR),NN is N-1, sdvig(RR,NN,R). ss(A,R):-sdvig(A,3,R). scepit([],L,L). scepit([H|T],L,[H|L1]):-scepit(T,L,L1). |
|||
|
||||
![]()
|
| Правила форума Prolog | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Void. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Prolog | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |