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

Ответы 7

  • объясни, как мог, но что непонятно-спрашивай
  • объяснил*
    • Автор:

      kimberly
    • 6 лет назад
    • 0
  • Спасибо, все подробно объяснено. Но у меня такой вопрос - если будет два слова, где максимальное кол-во букв "а" в слове (допустим, "макаронина" и "балаган"), можешь подсказать, как дополнить программу, пожалуйста
    • Автор:

      pedro253
    • 6 лет назад
    • 0
  • я как ращз думал над этим
    • Автор:

      andrew582
    • 6 лет назад
    • 0
  • if (maxA=colA) then stMax:=stMax+' '+stMax1; эту строку надо вставить перед этой if (maxA<colA) then begin maxA:=colA; stMax:=stMax1 end;
    • Автор:

      colin
    • 6 лет назад
    • 0
  • 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<colA) then begin maxA:=colA; stMax:=stMax1 end;{если количество 'а' в слове больше макс. кол-ва 'а' в одном из слов, то максимальное кол-во приравниваем к кол-ву, строку приравниваем к этому слову(stMax:=stMax1)}    stMax1:='';  {обнуляем слово}    colA:=0;  {обнуляем счётчик 'а'}  end; end;writeln(stMax);write(maxA); end.
  • var s,s1,s2,smax:string;max,k,p,i:integer;beginwriteln('Введите предложение:');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
    • Автор:

      guzman
    • 6 лет назад
    • 0
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years