Здравствуйте, Роман Сергеeвич Магнитский!
А я решил написать код
![](https://rfpro.ru/images/smiles/5.gif)
Работает циклами с использованием динамических массивов. Подразумевается, что в Edit1 находится исходное предложение, а в Label1 выводится результат анализа - самое длинное слово и кол-во букв в нём.
Приложение:
Var P1,P2,C,I,Max: Integer; S,Word,Res: String; Words: Array Of String;beginS:=Edit1.Text;P1:=1;P2:=1;C:=0;SetLength(Words,0);While P2 < Length(S) DoBeginWhile S[P2]<>‘ ‘ DoBeginInc(P2);End;Word:=Copy(S,P1-1,P2-P1+1);If Word[1] = ‘ ‘ Then Word:=Copy(Word,2,Length(Word));If Word[Length(Word)] = ‘ ‘ Then SetLength(Word,Length(Word)-1);Inc(C);SetLength(Words,C);Words[C-1]:=Word;//ListBox1.Items.Add(Word);P1:=P2+2;P2:=P1;End;Max:=Length(Words[0]);Res:=Words[0];For I:=0 To C-1 Do If (Length(Words[I]) > Max) Then Begin Max:=Length(Words[I]); Res:=Words[I]; End;Label1.Caption:=Res+‘ (‘+IntToStr(Max)+‘ букв)‘;