Найти количество согласных букв в предложении - 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.

Объяснение кода листинга программы

  1. Создается константа p, которая содержит список пробелов, точек, запятых, двоеточий, восклицательных и вопросительных знаков, скобок и кавычек.
  2. Создается константа sogl, которая содержит список букв ц, ц, к, к, н, н, ш, ш, щ, щ, з, з, х, х, ф, ф, в, в, п, п, р, р, л, л, д, д, ж, ж, ч, ч, с, с, м, м, т, т, б, б, ц, Ц, Й, й.
  3. Создаются переменные s, sl, mxsl типа string.
  4. Создается переменная i типа byte.
  5. Создается переменная j типа byte.
  6. Создается переменная k типа byte.
  7. Создается переменная d типа byte.
  8. Создается массив a типа string длиной до 20 элементов.
  9. Записывается предложение в переменную s.
  10. Инициализируется переменная sl пустой строкой.
  11. Инициализируется переменная d нулем.
  12. Запускается цикл for, который проходит по каждому символу предложения в переменной s.
  13. Если текущий символ не входит в список p, то он добавляется в переменную sl.
  14. Если переменная sl уже не пустая, то проверяется, есть ли в ней уже слово, которое встречается в текущем слове.
  15. Если слово в sl уже есть, то увеличивается счетчик k на единицу.
  16. Если k больше максимального значения, то обновляется максимальное значение k и обновляется mxsl на текущее слово.
  17. Выводится текущее слово из a с максимальным количеством согласных.
  18. Конец программы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 3.636 из 5
Похожие ответы