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