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