Ответ в теме: Составить из положительных элементов списка все списки заданной длины

      Комментарии к записи Ответ в теме: Составить из положительных элементов списка все списки заданной длины отключены

Главная Форумы Программирование Помощь с решением задач на Prolog Задачи на списки Составить из положительных элементов списка все списки заданной длины Ответ в теме: Составить из положительных элементов списка все списки заданной длины

#1895

questioner
Участник

Вот как вижу реализацию я, по отдельности предикаты работают, но в итоге добиться того что мне нужно не могу, кажется проблема в bagof а именно с названием переменных, посмотрите пожалуйста.

filter([],[]).
filter([A|L], [A|N]):- A > 0, filter(L, N).
filter([A|L], N):- A < 0, filter(L,N).
member_list([], _).
member_list([Head|Tail], List):-
member(Head, List),
delete(List, Head, List2),
member_list(Tail, List2).
select_lists(L1, N, R):-
filter(List, N),
bagof(List, (
length(List, N),
member_list(List, L1)), R
).