Форум программистов, компьютерный форум, киберфорум
Наши страницы
Prolog
Войти
Регистрация
Восстановить пароль
 
rrrFer
Заблокирован
1

В последовательности слов определить количество слов, начинающихся с заданной буквы. [Turbo Prolog][есть решение]

03.06.2011, 21:02. Просмотров 2101. Ответов 0
Метки нет (Все метки)

Prolog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
predicates
    %!---------------------------------------------------------------------------------------------
    gtwrd(string,string,string,string)  
                                        % i,i,o,o       
                                        %       выделение слова
                                        %       #формат: исходная строка,"", слово, остаток строки
                                        %       #использует: ---
    %!---------------------------------------------------------------------------------------------    
    p(string, char, integer)             %i,i,o
    
goal
    write("String: "),
    readln(S),
    write("Char: "),
    readchar(C),
    write(C),nl,
    p(S,C,R),
    write("Result: ",R),nl,
    readint(_).                            %задержка(ожидание <ENTER>)
clauses
    gtwrd(S,W,E,T):-
        frontchar(S,C,S1),                %выделяю символ
        NOT(C=' '),                        %если это не пробел
        str_char(SS,C),                    %преобразую символ в строку
        concat(W,SS,R),                    %прикрепляю символ к результату
        gtwrd(S1,R,E,T),!.                
    gtwrd(S,W,W,R):-                    %иначе(если это был пробел) возвраю результат
        frontchar(S,_,R).
    gtwrd(S,W,W,S).
    
    p("",_,0):-!.                        %в пустой строке 0 слов
    p(S,C,N):-
        gtwrd(S,"",W,SS),                %выделяю слово W, и остаток строки SS
        frontchar(W,C,_),                %сравниваю первый символ слова с C, если совпали, то:
        p(SS,C,NN), N = NN + 1,!;            %Увеличиваю счетчик, иначе:
        gtwrd(S,"",_,SS),                %получаю остаток строки SS от выделения слова
        p(SS,C,N),!.                        %оставляю счетчик неизменным

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

3
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.06.2011, 21:02
Ответы с готовыми решениями:

Количество слов, начинающихся с заданной буквы [Visual Prolog]
В последовательности слов, разделенных пробелами, определить количество слов, начинающихся с...

Посчитать количество русских слов в текстовом файле (Turbo Prolog)
Ребята,помогите,пожалуйста,нужно переделать эту программу,что бы она считала количество русских...

Списки, поэлементый ввод списка, минимум [есть решение] [Turbo Prolog]
Привет! К сожалению, никогда не сталкивался с Prolog, но случилось удивительное: на...

В заданной последовательности определить количество слов, начинающихся с указанной буквы
7.Дана непустая последовательность непустых слов из латынских букв; соседние слова отделены друг от...

Определить количество слов, начинающихся с заданной буквы
задан текст, заканчивающий точкой. Слова в тексте разделены пробелом или несколькими пробелами....

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.06.2011, 21:02

Определить количество слов, начинающихся с заданной буквы
Здрасьте, помогите, пожалуйста, решить эту задачу. Задача: В заданной строке, состоящей из слов,...

В строке определить количество слов, начинающихся с заданной буквы.
В заданной строке определить количество слов, начинающихся с заданной буквы.

Определить в строке количество слов, начинающихся с заданной буквы
Строка текста содержит слова, пробелы, знаки препинания. Текст размещен в одной или нескольких...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru