В заданной строке символов найти слова минимальной и максимальной длины и выдать позиции, с которых они начинаются.

Omnitek

В заданной строке символов найти слова минимальной и максимальной длины и выдать позиции, с которых они начинаются. Подсчитать количество слов в данной строке.
1 ответ

Omnitek

Uses crt;
Var s,p:string; i,k,min,max,x,y:integer;
Begin
ClrScr; Write('Input string:'); Readln(s);
min:=length(s);
For i:=1 to length(s) do
 If not(s[i]=' ') and not(i=length(s)) then p:=p+s[i] else{выделяем слова}
  Begin
   If i=length(s) then p:=p+s[i];
   If length(p)>max then
    Begin
     max:=length(p); x:=Pos(p,s);{находим самое длинное слово и его позицию}
    End;
   If length(p)<min then 
    Begin
     min:=length(p); y:=Pos(p,s);{находим самое короткое слово и его позицию}
    End;
   p:=''; inc(k);
  End;
Writeln('Words:',k);{вывод кол-ва слов}
Writeln('Long:',x,' Short:',y);
Readln;
End.