Нахождение множества пересечения трех множеств / Prolog

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

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

Добрый день! Не получается создать множество пересечения трех множеств. Подскажите пожалуйста что не так? Заранее благодарен!
Листинг программы
  1. DOMAINS
  2. list=integer*
  3. PREDICATES
  4. member(integer,list,list)
  5. intersect(list,list,list,list)
  6. clauses
  7. intersect([],_,_,[]).
  8. intersect([H|T1],S2,S3,[H|T4]):-
  9. member(H,S2,S2),member(H,S3,S3),!,
  10. intersect(T1,S2,S3,T4).
  11.  
  12. intersect([_|T1],S2,S3,T4):-
  13. intersect(T1,S2,S3,T4).
  14.  
  15. member(H,[H|Tail],Tail):-!.
  16. member(H,[H1|T],[H1|T]):-
  17. member(H,T,T).
  18. GOAL
  19. write("Pervoe mnozhestvo: "),nl, readterm(list,L),
  20. write("Vtoroe mnozhestvo: "),nl, readterm(list,M),
  21. write("Tret'e mnozhestvo3: "),nl,readterm(list,K),
  22. intersect(L,M,K,Print),
  23. write("Peresechenie mnozhestv"),nl,
  24. write(Print).

Решение задачи: «Нахождение множества пересечения трех множеств / Prolog»

textual
Листинг программы
  1. member(H,S2,_),member(H,S3,_),!,

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


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

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

10   голосов , оценка 3.9 из 5

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

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

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