Объединение 2-х списков на прологе - Prolog
Формулировка задачи:
Помогите пожалуйста написать программу для нахождения объединения множеств, представленных списками. НЕЛЬЗЯ ИСПОЛЬЗОВАТЬ ОПЕРАТОР ОТСЕЧЕНИЯ ("!")..
app([],X,X).
app([H|T],X,[H|Y]) :- app(T,X,Y). - функция которая просто объединяет два списка. Т.е. app([1,2,4,5],[1,2,3,6],R) даст R=[1,2,4,5,1,2,3,6].
Нужна помощь с функцией, которая определяет есть ли элемент в списке, и, если он есть, то в итоговый список написать его надо 1 раз. Т. е. вводим ей [1,2,4,5] и [1,2,3,6]. выводит: [1,2,3,4,5,6]
Заранее спасибо)
Решение задачи: «Объединение 2-х списков на прологе»
textual
Листинг программы
% Объединение списков % объединить(список1, список2, результат) объединить([], L, L). объединить([X | L1], L2, [X | L]) :- % первым элементом объединения является % первый элемент первого списка объединить(L1, L2, L). % обединить хвост первого списка со вторым списком
Объяснение кода листинга программы
- % Объединение списков
- % объединить(список1, список2, результат)
- объединить([], L, L).
- объединить([X | L1], L2, [X | L]) :- % первым элементом объединения является — первым элементом первого списка — объединить(L1, L2, L). % обединить хвост первого списка со вторым списком
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д