profile
Размещено 5 лет назад по предмету Информатика от koreecAndrey

Дана строка, состоящая из русских слов, разделенных пробелом. Определить слово, с наибольшим количеством гласных букв, ребят помогииитее паскаль

  1. Ответ на вопрос
    Ответ на вопрос дан Аккаунт удален
    procedure GetWord(s:string; var p:integer; var w:string; delim:string:=' ');
    {
     Получает в w слово из строки s, которое начинается не ранее позиции p.
     Возвращает новое значение p, указывающее на первый разделитель delim,
     который следует за найденным словом или 0, если такой разделитель не найден.
     По умолчанию слова разделяются не менее чем одним пробелом
    }
    var
      i,n:integer;
      fBreak:boolean; { флажок для прерывания циклов }
    begin
      n:=Length(s); fBreak:=False;
      {ищем первый символ, отличный от разделителя - начало слова }
      while ((p<=n) and (not fBreak)) do
        if (p=n) or (s[p]<>delim) then fBreak:=True
        else Inc(p);
      { ищем очередной разделитель - конец слова }
      if p<n then begin
        i:=p; Inc(p); fBreak:=False;
        while (p<=n) and (not fBreak) do begin
          if (p=n) or (s[p]=' ') then fBreak:=True else Inc(p)
        end;
      { теперь слово находится между позициями i и p }
      w:=Copy(s,i,p-i)
      end;
      if p>=n then p:=0
    end;

    function CountG(w:string):integer;
    { возвращает количество гласных в слове w}
    var
      i,k:integer;
    begin
      k:=0;
      for i:=1 to length(w) do
        if w[i] in ['а','е','ё','и','о','у','ы','э','ю','я'] then Inc(k);
      CountG:=k
    end;

    var
      s,w,wmax:string;
      p,k,gmax:integer;
    begin
      Writeln('Введите текст, разделяя слова пробелами');
      Readln(s);
      s:=LowerCase(s);
      p:=1; gmax:=0;
      while p>0 do begin
        GetWord(s,p,w);
        k:=CountG(w);;
        if gmax<k then begin gmax:=k; wmax:=w end
      end;
      if gmax>0 then Writeln('В слове "',wmax,'" максимум гласных, равный ',gmax)
      else Writeln('Во введенной строке гласных букв не найдено')
    end.

Не тот ответ на вопрос, который вам нужен?
Найди верный ответ
Самые новые вопросы
tegysigalpa2012
Русский язык - 6 лет назад

Помогите решить тест по русскому языку тест по русскому языку «местоимение. разряды местоимений» для 6 класса 1. укажите личное местоимение: 1) некто 2) вас 3) ни с кем 4) собой 2. укажите относительное местоимение: 1) кто-либо 2) некоторый 3) кто 4) нам 3. укажите вопросительное местоимение: 1) кем-нибудь 2) кем 3) себе 4) никакой 4. укажите определительное местоимение: 1) наш 2) который 3) некий 4) каждый 5. укажите возвратное местоимение: 1) свой 2) чей 3) сам 4) себя 6. найдите указательное местоимение: 1) твой 2) какой 3) тот 4) их 7. найдите притяжательное местоимение: 1) самый 2) моего 3) иной 4) ничей 8. укажите неопределённое местоимение: 1) весь 2) какой-нибудь 3) любой 4) этот 9. укажите вопросительное местоимение: 1) сколько 2) кое-что 3) она 4) нами 10. в каком варианте ответа выделенное слово является притяжательным местоимением? 1) увидел их 2) её нет дома 3) её тетрадь 4) их не спросили

Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.