Подсчет количества повторений элементов списка - Prolog

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

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

Добрый день. Помогите, пожалуйста, с программой:Определить количество повторений элементов списка.

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

textual
Листинг программы
domains
int=integer
intl=int*
intll=intl*
 
predicates
counter(int,intl,int)
del(int,intl,intl)
task(intl,intll)
 
clauses
counter(_,[],0).
counter(N,[N|H],K) :- counter(N,H,K1), K=K1+1.
counter(N,[M|H],K) :- M<>N,counter(N,H,K).
 
del(_,[],[]).
del(N,[N|T],R) :- del(N,T,R).
del(N,[M|T],[M|R]) :- N<>M,del(N,T,R).
 
task([],[]).
task([H|T],[[H,C]|R]) :- counter(H,T,C1), C=C1+1, del(H,T,Z), task(Z,R).

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


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

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

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