Определить, какой процент слов в тексте содержит удвоенную согласную - Pascal ABC
Формулировка задачи:
Задача.Определить,какой процент слов в тексте содержит удвоенную согласную(слова разделены пробелами.Не могу вывести процентное содержание слов,выводится только просто количество слов с двойными согласными.Код приведен ниже.Что нужно добавить,чтобы выводилось процентное содержание?
Решение задачи: «Определить, какой процент слов в тексте содержит удвоенную согласную»
textual
Листинг программы
var Str, Str1, old: string; i, c, c1: integer; D1, D2: integer; const s1: string = 'бвгджзкйлмнпрстфхцчшщъь'; begin readln(Str); Str1 := ''; c := 0; D1 := 1; D2 := 0; old := ''; c1 := 0; for i := 1 to length(Str) do begin//1 if Str[i] = ' ' then begin//2 c := c + 1; end else begin if c > 0 then begin; D1 := D1 + 1; //Счётчик слов c := 0; end; //Привод к нижнему регистру if (Str[i] > 'А') and (Str[i] < 'Я') then Str[i] := chr(ord(Str[i]) + 32); if Str[i] = old then begin c1 := c1 + 1; //Считаем одинаковые буквы. end else begin //если есть удвоение if c1 = 1 then begin if pos(old, s1) <> 0 then begin D2 := D2 + 1; break; // остальные удвоенные в слове не считаем end; end; c1 := 0; end; old := Str[i]; end; // end; // writeln('Всего слов: ', d1); writeln('Всего удвоенных слов: ', d2); writeln('Процент слов в тексте содержит удвоенную согласную: ', d2 / d1 * 100:0:2); readln; end.
Объяснение кода листинга программы
- В строке считывается входной текст.
- Инициализируются переменные: Str, Str1, old, i, c, c1, D1, D2.
- Строка разбивается на символы.
- Проверяется каждый символ:
- Если символ - пробел, увеличивается счетчик c.
- Если символ не является пробелом и предыдущий символ был пробелом, увеличивается счетчик D1.
- Если символ не является пробелом и не совпадает с предыдущим символом, увеличивается счетчик c.
- Если символ не является пробелом и совпадает с предыдущим символом, увеличивается счетчик c1.
- После обработки всех символов, вычисляется количество слов (D1) и количество удвоенных согласных слов (D2).
- Выводится общее количество слов и удвоенных согласных слов.
- Вычисляется процент слов в тексте, содержащих удвоенную согласную.
- Выводится полученный процент.
- Программа завершается ожиданием ввода пользователя.