Разбиение списка целых чисел на список целых положительных чисел и список отрицательных чисел

) Я пытался создать предикат на Прологе, который разбивает список целых чисел на список положительных целых чисел и на список отрицательных целых чисел.

Пример запроса с ожидаемым результатом:

?- split([1,-2,3,4,-8],X,Y).
X = [1,3,4],
Y = [-2,-8].

Вот код, который я получил на данный момент:

split([], [], []).
split([Head|Tail], List1, List2) :- split(Tail, [Head|List1], List2), Head>=0.
split([Head|Tail], List1, List2) :- split(Tail, List1, [Head|List2]), Head<0.

Кажется, я не могу понять, что я делаю неправильно

7
задан repeat 5 June 2015 в 11:05
поделиться