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


Автор: Natashka29 30.5.2010, 23:24
Помогите, плиз, написать программу!!! Надо срочно!

Введенную с клавиатуры строку вывести на экран дисплея наоборот.

Автор: binomes 4.6.2010, 20:02
Цитата(Natashka29 @ 30.5.2010,  23:24)
Помогите, плиз, написать программу!!! Надо срочно!

Введенную с клавиатуры строку вывести на экран дисплея наоборот.

domains
l=char*
predicates
nondeterm result
nondeterm str_list(string,l)
nondeterm rev(l,l)
nondeterm revers (l,l,l)
nondeterm list_str(l,string)    

clauses
str_list("",[]). 
str_list(S,[H|T]):-
            frontchar(S,H,S1),                   
            str_list(S1,T).

rev (L, L1):- 
revers (L, [ ], L1).
revers ([ ], L1, L1).
revers ([H|T], L, L1):- 
revers (T, [H|L], L1).

list_str([],""). 
list_str([H|T],S):-
            list_str(T,S1), 
            frontchar(S,H,S1). 
                  
result:-
    write("Введите строку"),nl,
    readln(S),nl,
    str_list(S,L),
    rev(L,L1),
    list_str(L1,S1),
    write("Первоначальная строка:"),nl,
    write(S),nl,nl,
    write("Инвертированная строка:"),nl,
    write(S1),nl,nl.
goal
result.

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