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

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

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

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

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

textual
Листинг программы
  1. domains
  2. int=integer
  3. intl=int*
  4. intll=intl*
  5.  
  6. predicates
  7. counter(int,intl,int)
  8. del(int,intl,intl)
  9. task(intl,intll)
  10.  
  11. clauses
  12. counter(_,[],0).
  13. counter(N,[N|H],K) :- counter(N,H,K1), K=K1+1.
  14. counter(N,[M|H],K) :- M<>N,counter(N,H,K).
  15.  
  16. del(_,[],[]).
  17. del(N,[N|T],R) :- del(N,T,R).
  18. del(N,[M|T],[M|R]) :- N<>M,del(N,T,R).
  19.  
  20. task([],[]).
  21. task([H|T],[[H,C]|R]) :- counter(H,T,C1), C=C1+1, del(H,T,Z), task(Z,R).

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


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

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

8   голосов , оценка 4.125 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы