| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Prolog > Получить список, содержащий все элементы |
| Автор: func 6.5.2014, 20:45 |
| Здравствуйте! Нужно решить следующую задачу: Получить список, содержащий все элементы исходного списка, но по одному. Есть решение похожей задачи: Проверить, что все элементы списка различны. member(X, [X|_]) :- !. member(X, [_|T]) :- member(X, T). is_different([]) :- !. is_different([H|T]) :- not(member(H,T)), is_different(T). И попытки (неверные) сделать необходимую. Помогите, пожалуйста, исправить ошибку member(X, [X|_]). member(X, [_|T]) :- member(X, T). newlist(_, []). newlist([H|T], [H|N]) :- not(member(H,N)), newlist(T, N),!. newlist([_,T],N) :- newlist(T,N). |
| Автор: rrrFer 23.5.2014, 12:30 | ||
не првоерял, но должно работать. В качестве второго аргумент передавай пустой список. |