37

Плиизз… помогитее …. В паскалее Выделить из текста самое длинное…

reiter 17 марта 2023

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

категория: информатика

89

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. Находит саммое длинное слово

пользователи выбрали этот ответ лучшим

Знаете другой ответ?
Другие вопросы по информатике

ПОПУЛЯРНОЕ
Есть интересный вопрос? Задайте его нашему сообществу, у нас наверняка найдется ответ!
Делитесь опытом и знаниями, зарабатывайте награды и репутацию, заводите новых интересных друзей!
Задавайте интересные вопросы, давайте качественные ответы и зарабатывайте деньги. Подробнее...