Вывести сколько раз встречается в списке каждый элемент - Prolog
Формулировка задачи:
Вывести сколько раз встречается в списке каждый элемент, помогите срочно нужно, в prologе не шарю совсем, а на форуме ничего не нашел)))
Решение задачи: «Вывести сколько раз встречается в списке каждый элемент»
textual
Листинг программы
domains int=integer intl=int* intll=intl* predicates delall(int,intl,intl) count(int,intl,int) task(intl,intll) clauses delall(_,[],[]). delall(X,[X|T],Q) :- delall(X,T,Q). delall(X,[Y|T],[Y|Q]) :- Y<>X, delall(X,T,Q). count(_,[],0). count(X,[X|T],N) :- count(X,T,N1), N=N1+1. count(X,[Y|T],N) :- X<>Y, count(X,T,N). task([],[]). task([X|T],[[X,Y]|R]) :- count(X,T,N), Y=N+1, delall(X,T,TT), task(TT,R). task([1,2,3,1,1,6,6,7,2],Z) Z=[[1,3],[2,2],[3,1],[6,2],[7,1]]
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д