Найти количество согласных букв в предложении - Pascal ABC
Формулировка задачи:
Для каждого слова заданного предложения указать количество согласных. Определить слово, в котором доля согласных максимальна(наибольшая). Каждое слово записать в массив, т.е. есть пустой массив и затем мы записываем в него слова. Вывести на экран все слова, а также слово, с максимальным числом согласных букв.
Все что смог сам(
Решение задачи: «Найти количество согласных букв в предложении»
textual
Листинг программы
const p=[' ','.',',',';',':','!','?','(',')','"']; sogl=['Ц','ц','К','к','Н','н','Ш','ш','Щ','щ','З','з','Х','х','Ф','Ь','ь','ф','В','в','П','п','Р','р','Л','л','Д','д','Ж','ж','Ч','ч','С','с','М','м','Т','т','Б','б','ц','Ц','Й','й']; var s,sl,mxsl: string; i,j,k,d,max: byte; a:array[1..20]of string; begin write('s='); readln(s); // Vvod predlozheniya s:=s+' '; sl:=''; d:=0; for i:=1 to length(s) do //Записываем слова предложения в массив if not (s[i] in p) then sl:=sl+s[i] else if length(sl)>0 then begin k:=0; for j:=1 to d do if a[j]=sl then k:=k+1; if k=0 then begin d:=d+1; a[d]:=sl; end; sl:=''; end; //Выводим слова for i:=1 to d do writeln(a[i]); //ихем слово с макс. кол. согласных for i:=1 to d do begin k:=0; for j:=1 to length(a[i]) do if a[i][j] in sogl then k:=k+1; if k>max then begin max:=k; mxsl:=a[i]; end; end; write('Больше всего согласных=',max,' в слове ',mxsl); end.
Объяснение кода листинга программы
- Создается константа
p
, которая содержит список пробелов, точек, запятых, двоеточий, восклицательных и вопросительных знаков, скобок и кавычек. - Создается константа
sogl
, которая содержит список буквц
,ц
,к
,к
,н
,н
,ш
,ш
,щ
,щ
,з
,з
,х
,х
,ф
,ф
,в
,в
,п
,п
,р
,р
,л
,л
,д
,д
,ж
,ж
,ч
,ч
,с
,с
,м
,м
,т
,т
,б
,б
,ц
,Ц
,Й
,й
. - Создаются переменные
s
,sl
,mxsl
типаstring
. - Создается переменная
i
типаbyte
. - Создается переменная
j
типаbyte
. - Создается переменная
k
типаbyte
. - Создается переменная
d
типаbyte
. - Создается массив
a
типаstring
длиной до 20 элементов. - Записывается предложение в переменную
s
. - Инициализируется переменная
sl
пустой строкой. - Инициализируется переменная
d
нулем. - Запускается цикл
for
, который проходит по каждому символу предложения в переменнойs
. - Если текущий символ не входит в список
p
, то он добавляется в переменнуюsl
. - Если переменная
sl
уже не пустая, то проверяется, есть ли в ней уже слово, которое встречается в текущем слове. - Если слово в
sl
уже есть, то увеличивается счетчикk
на единицу. - Если
k
больше максимального значения, то обновляется максимальное значениеk
и обновляетсяmxsl
на текущее слово. - Выводится текущее слово из
a
с максимальным количеством согласных. - Конец программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д