Заменить все нечетные элементы списка на первый нечетный элемент - Prolog

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

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

задача: заменить все нечетные элементы списка на первый нечетный элемент

Решение задачи: «Заменить все нечетные элементы списка на первый нечетный элемент»

textual
Листинг программы
  1. domains
  2. int=integer
  3. intl=int*
  4.  
  5. predicates
  6. firstOdd(intl,int)
  7. repl(intl,int,intl)
  8. task(intl,intl)
  9.  
  10. clauses
  11. firstOdd([],_) :- fail.
  12. firstOdd([H|_],H) :- H mod 2 <> 0.
  13. firstOdd([H|T],Z) :- H mod 2 = 0, firstOdd(T,Z).
  14.  
  15. repl([],_,[]).
  16. repl([H|T],U,[U|R]) :- H mod 2 <> 0, repl(T,U,R).
  17. repl([H|T],U,[H|R]) :- H mod 2 = 0, repl(T,U,R).
  18.  
  19. task(X,R) :- firstOdd(X,F), repl(X,F,R).

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


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

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

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

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

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

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