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