Заменить все нечетные элементы списка на первый нечетный элемент - Prolog
Формулировка задачи:
задача:
заменить все нечетные элементы списка на первый нечетный элемент
Решение задачи: «Заменить все нечетные элементы списка на первый нечетный элемент»
textual
Листинг программы
- domains
- int=integer
- intl=int*
- predicates
- firstOdd(intl,int)
- repl(intl,int,intl)
- task(intl,intl)
- clauses
- firstOdd([],_) :- fail.
- firstOdd([H|_],H) :- H mod 2 <> 0.
- firstOdd([H|T],Z) :- H mod 2 = 0, firstOdd(T,Z).
- repl([],_,[]).
- repl([H|T],U,[U|R]) :- H mod 2 <> 0, repl(T,U,R).
- repl([H|T],U,[H|R]) :- H mod 2 = 0, repl(T,U,R).
- task(X,R) :- firstOdd(X,F), repl(X,F,R).
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д