Удалить элементы списка, находящиеся на чётных позициях - Prolog
Формулировка задачи:
Помогите, пожалуйста, переделать этот код так, чтобы он удалял элементы списка, находящиеся на чётных позициях, а не на нечётных
Листинг программы
- DOMAINS
- list = integer*
- PREDICATES
- nondeterm vvod(list) %ввод списка вручную
- nondeterm change(integer,list,list) %удаляет элементы из списка
- CLAUSES
- vvod([H|T]):-
- write("Vedite element spiska ili 'ENTER': "),readint(H),!,
- vvod(T).
- vvod([]).
- change(_,[],[]).
- change(X,[H|T],[H1|T1]):-
- 0 = X mod 2,
- H1 = H,
- D = X - 1,
- change(D,T,T1),!.
- change(X,[_|T],List):-
- D = X + 1,
- change(D,T,List).
- GOAL
- vvod(L),nl,
- change(1,L,T),nl,
- write("Answer is : ", T),nl.
Решение задачи: «Удалить элементы списка, находящиеся на чётных позициях»
textual
Листинг программы
- 1 = X mod 2
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д