В
Все
Х
Химия
В
Видео-ответы
А
Алгебра
Г
Геометрия
О
ОБЖ
Д
Другие предметы
У
Українська література
Р
Русский язык
Б
Беларуская мова
У
Українська мова
Э
Экономика
Ф
Физика
М
Математика
Ф
Французский язык
Г
География
И
Информатика
М
МХК
О
Окружающий мир
П
Психология
Н
Немецкий язык
О
Обществознание
П
Право
И
История
М
Музыка
Л
Литература
Қ
Қазақ тiлi
Б
Биология
А
Английский язык
01041
01041
22.09.2022 02:31 •  Информатика

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

Ответ:
sapetnyymark
sapetnyymark
02.10.2020 22:37
Procedure GetWord(s:string; var from:integer; var w:string; var len:integer);
{
Ищет в строке s слово, начиная с позиции from.
Если слово w найдено, from будет указывать на его начало,
а в len будет находиться длина эого слова.
если слово не найдено, w='', len=0
Слова раздеяются минимум одним пробелом, за исключением
первого и последнего слова, у которых пробел может
находиться только с одной стороны.
}
var
  i,n:integer;
  stop:Boolean;
begin
  n:=Length(s); i:=from; stop:=false;
  while (i<=n) and (not stop) do
    if s[i]=' ' then Inc(i) else stop:=true;
  if i>n then begin len:=0; w:='' end
  else begin
    from:=i; stop:=false;
    while (i<=n) and (not stop) do
    if s[i]<>' ' then Inc(i) else stop:=true;
    if i>n then len:=n-from+1 else len:=i-from;
    w:=Copy(s,from,len)
  end
end;

var
  s1,wd,wdmax:string;
  ic,L,Lmax:integer;

begin
  Write('Введите строку: '); Readln(s1);
  ic:=1; Lmax:=0;
  repeat
    GetWord(s1,ic,wd,L);
    if (L>0) and (L>Lmax) then
      begin Lmax:=L; wdmax:=wd end;
    ic:=ic+L+1
  until L=0;
  Writeln('Самое длинное слово "',wdmax,'" длины ',Lmax)
end.
 
Тестовое решение:
Введите строку: Это пример    тестовой    строки  с произвольным числом   пробелов.
Самое длинное слово "произвольным" длины 12
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?