Удалить из списка повторяющиеся элементы - Prolog

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

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

Удалить из списка повторяющиеся элементы.
Заранее благодарю!

Решение задачи: «Удалить из списка повторяющиеся элементы»

textual
Листинг программы
domains
int=integer
intl=int*
 
predicates
del_elt(int,intl,intl)
uniq(intl,intl)
read_list(intl)
task
 
clauses
del_elt(_,[],[]).
del_elt(X,[X|T],R) :- del_elt(X,T,R).
del_elt(X,[Y|T],[Y|R]) :-  X<>Y,del_elt(X,T,R).
 
uniq([],[]).
uniq([X|T],[X|R]) :- del_elt(X,T,Y), uniq(Y,R).
 
read_list([H|T]) :- readint(H),!,read_list(T).
read_list([]).
  
task :- write("Enter any list:"),nl,read_list(H),uniq(H,U),write("List of uniq values: "),nl,write(U),nl.
 
goal
task.

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


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

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

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