Перестановка элементов списка - Prolog

Узнай цену своей работы

Формулировка задачи:

Подскажите, пожалуйста, (или дайте ссылки на) решения следующих задач со списками: 1) Поменять местами 2 выбранных элемента списка, что-то вроде pred(List, Ind1, Ind2, ResultList) 2) Переместить из списка 1 в список 2 числа, попадающие в заданный интервал, пример pred(List, Begin, End, ResultList).

Решение задачи: «Перестановка элементов списка»

textual
Листинг программы
  1. domains
  2. int=integer
  3. intl=int*
  4.  
  5. predicates
  6.  
  7. getEl(intl,int,int)
  8. putEl(intl,int,int,intl)
  9. swap(intl,int,int,intl)
  10.  
  11. clauses
  12.  
  13. getEl([H|_],0,H).
  14. getEl([_|T],N,Z) :- N1=N-1, getEl(T,N1,Z).
  15.  
  16. putEl([_|T],0,V,[V|T]).
  17. putEl([H|T],N,V,[H|Q]) :-N1=N-1, putEl(T,N1,V,Q).
  18.  
  19. swap(A,N1,N2,R) :- getEl(A,N1,V1), getEl(A,N2,V2), putEl(A,N1,V2,B1), putEl(B1,N2,V1,R).

ИИ поможет Вам:


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

Оцени полезность:

7   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы