плииииззз...помогитееее .......... в паскалеее Выделить из текста самое длинное слово, заканчивающееся на согласную букву. Вывести это слово на печать.

Есть ответ
17.12.2022
292

Ответ


program Project1;
 
const
  //Множество разделителей слов.
  D = [' ', '.', ',', ':', ';', '!', '?', '-', #9, #10, #13];
var
  S, StrW, StrWMax : String;
  i, Pos1, Len, LenW, LenWMax, Cnt : Integer;
begin
  repeat
    Writeln('Задайте текст:');
    Readln(S);
 
    //Обработка текста.
    Len := Length(S);
    LenWMax := 0;
    StrWMax := '';
    Cnt := 0;
    Pos1 := 0;
    for i := 1 to Len do begin
      //Пропускаем разделители.
      if S[i] in D then Continue;
      //Отслеживаем начало слова.
      if (i = 1) or (S[i - 1] in D) then Pos1 := i;
      //Отслеживаем конец слова.
      if (i = Len) or (S[i + 1] in D) then begin
        //Вычисляем длину слова.
        LenW := i - Pos1 + 1;
        //Выделяем слово.
        StrW := Copy(S, Pos1, LenW);
        //Если слово совпадает с текущим наибольшим по длине,
        //тогда увеличиваем счётчик.
        if StrW = StrWMax then begin
          Cnt := Cnt + 1;
        end else if LenW > LenWMax then begin
          //Если это очередное слово длиннее всех ранее найденных слов, то
          //запоминаем его и его длину и сбрасываем счётчик.
          StrWMax := StrW;
          LenWMax := LenW;
          Cnt := 1;
        end;
      end;
    end;
 
    //Показываем результат.
    if StrWMax '' then begin
      Writeln('Первое из самых длинных слов: "', StrWMax, '".');
      Writeln('Это слово встречается в тексе ', Cnt, ' раз.');
    end else begin
      Writeln('В строке нет слов.');
    end;
 
    Writeln('Повторить - Enter, выход - любой символ + Enter.');
    Readln(S);
  until S '';
end.
 Находит саммое длинное слово 


Если вы нашли правильное решение, вы можете поблагодарить нас начиная с 10 рублей.
Просто нажмите на кнопку "Подарить".
17.12.2022
Этот сайт использует cookies (Политика Cookies). Вы можете указать условия хранения и доступ к cookies в своем браузере.