Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Prolog > строки в Прологе


Автор: alexa88 11.11.2009, 22:36
Помогите, пожалуйста, очень срочно! Я почти не понимаю Арити Пролог, не могли бы помочь решить 2 задачки!
1) Удвойте каждую букву слова Х
2) Напишите программу вычёркивания из слова Х всех букв, стоящих на чётных местах после буквы "о"
Заранее благодарна.

Автор: motus 12.11.2009, 11:34
ээх, двоечники..

первая задачка:

Код

double([], []).

double([H|T], [H,H|R]) :- double(T,R).



и вторая:

Код

even_o(S, R) :- even_o(S, odd, R).

even_o([], _, []).

even_o([O,_|T], odd, [O|R]) :-
  atom_char(o, O),
  !,
  even_o(T, odd, R).

even_o([C|T], N, [C|R]) :-
  flip(N, M),
  even_o(T, M, R).

flip(even, odd).
flip(odd, even).



проверял на swipl, потому как arity не держим-с. 

Автор: alexa88 12.11.2009, 17:10
Спасибо!!!))) 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)