Заменить все нечетные элементы списка на первый нечетный элемент - 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).

ИИ для рефератов и докладов


  • Экспорт Word по ГОСТу
  • Минимум 80% уникальности текста
  • Поиск релевантных источников в интернете
  • Готовый документ за 2 минуты

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

7   голосов , оценка 4 из 5
Похожие ответы