Ребята, помогите пожалуйста решить задачу на Pascal ABC (с подробным объяснением каждого шага в программе) Дана строка. Слова в предложении разделены пробелом. Предложение заканчивается "." "!" "?". Определить слово с максималь...

Ребята, помогите пожалуйста решить задачу на Pascal ABC (с подробным объяснением каждого шага в программе) Дана строка. Слова в предложении разделены пробелом. Предложение заканчивается "." "!" "?". Определить слово с максимальным числом букв "а" и количество букв "а" в нем. Заранее благодарю за написанные программы.
Гость
Ответ(ы) на вопрос:
Гость
var st,stMax1,stMax:string;     L,i,maxA,colA:integer;     begin  readln(st);{считываем строку}  L:=length(st);{получаем длину строки}  colA:=0;{количество букв а в слове}  maxA:=0;{максимальное количество букв а в слове}  stMax1:='';{то, куда мы будем записывать слово}  for i:=1 to L do begin {проходим по строке L раз}   if ((st[i]<>' ') and (st[i]<>'.') and (st[i]<>'!') and (st[i]<>'?')) then {если символ не пробел, не точка, не воскл. знак и не вопрос. знак то записываем в строку одну букву}   stMax1:=stMax1+st[i];{буква+буква+буква}       if (st[i]='а') then colA:=colA+1;{если считываемая буква-а то увеличиваем счётчик букв а в слове}      if (st[i]=' ') or (st[i]='.') or (st[i]='!') or (st[i]='?') then begin{если дошли до конца слова то...}     if (maxA
Гость
var s,s1,s2,smax:string; max,k,p,i:integer; begin writeln('Введите предложение:'); readln(s); s1:=s; s1[length(s1)]:=' '; max:=0; smax:=''; while s1<>'' do  begin  p:=pos(' ',s1);  s2:=copy(s1,1,p-1);  k:=0;  for i:=1 to p-1 do   if s2[i]='а' then k:=k+1;  if k>max   then begin max:=k; smax:=s2; end   else if k=max then smax:=smax+','+s2;  delete(s1,1,p);  end; writeln(smax); writeln('k = ',max); end. Пример: Введите предложение: Макаронина и балаган а также команда каска и палатка. Макаронина,балаган,палатка k = 3
Не нашли ответ?
Ответить на вопрос
Похожие вопросы