Заменить все нечетные элементы списка на первый нечетный элемент - 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).
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д