Определить самое длинное и самое короткое слово в предложении - Turbo Pascal
Формулировка задачи:
Определить самое длинное и самое короткое слово в предложении, при условии, что каждое слово отделяется от другого пробелом.
Решение задачи: «Определить самое длинное и самое короткое слово в предложении»
textual
Листинг программы
var i,j:integer; MaxW,MinW,s,t:string; begin write('Введите предложение:');readln(s); s:=s+' '; t:='';MinW:=s;MaxW:=''; for i:=1 to length(s) do if s[i]<>' ' then t:=t+s[i] else if t<>'' then begin if length(t)<length(MinW) then MinW:=t; if length(t)>length(MaxW) then MaxW:=t; t:=''; end; writeln('Самое короткое слово: ',MinW); writeln('Самое длинное слово: ',MaxW); readln; end.
Объяснение кода листинга программы
- В начале объявляются переменные: i, j, MaxW, MinW, s, t.
- Затем происходит чтение предложения от пользователя.
- Строка s присваивается значение введенного предложения.
- Строка t инициализируется пустой строкой.
- Строки MinW и MaxW инициализируются начальными значениями s.
- Затем следует цикл for, который проходит по каждому символу в строке s.
- Внутри цикла проверяется, является ли текущий символ отличным от пробела. Если это так, то символ добавляется в строку t.
- Если строка t не пустая, то проверяется ее длина. Если длина меньше длины MinW, то MinW присваивается значение t. Если длина больше длины MaxW, то MaxW присваивается значение t.
- После окончания цикла, строки MinW и MaxW выводятся на экран.
- Выводится сообщение о самом коротком слове.
- Выводится сообщение о самом длинном слове.
- Программа завершается после ввода пользователем любого символа.