Предикат нахождения множества - пересечения трех множеств - Prolog

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

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

Пожалуйста, помогите создать предикат нахождения множества пересечения трех множеств.

Решение задачи: «Предикат нахождения множества - пересечения трех множеств»

textual
Листинг программы
  1. implement main
  2.     open core
  3.  
  4. class predicates
  5.     member: (integer,integer*) nondeterm.
  6. clauses
  7.     member(_,[]) :- fail.
  8.     member(H,[H|_]).
  9.     member(H,[_|T]) :- member(H,T).
  10.  
  11. class predicates
  12.     intersect: (integer*, integer*, integer*)  nondeterm (i,i,o).
  13. clauses
  14.     intersect([],_,[]).
  15.     intersect(_,[],[]).
  16.     intersect([H|T1],T2,[H|T3]) :- intersect(T1,T2,T3),member(H,T2).
  17.     intersect([H|T1],T2,T3) :- intersect(T1,T2,T3), not(member(H,T2)).
  18.  
  19.  
  20. class predicates
  21.     inters3: (integer*, integer*, integer*,integer*)  nondeterm (i,i,i,o).
  22. clauses
  23.     inters3(A,B,C,R) :- intersect(A,B,AB), intersect(C,AB,R).
  24.  
  25. clauses
  26.     run():-
  27.         console::init(),
  28.         inters3([1,2,3,4],[3,4,5,6],[3,4,7,9],R).
  29.  
  30. end implement main
  31.  
  32. goal
  33.     mainExe::run(main::run).

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


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

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

11   голосов , оценка 4.273 из 5

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

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

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