{ Дано предложение составить программу располагающую

 

слова в порядке убывания длины слов }

 

uses crt;

type slov = array [1..10] of string;

var p,b : string;

s : slov;

i,j,l : integer;

q : boolean;

procedure maxdl( ii,jj : integer;ss : slov; var ll : integer );

var t:integer;m:string;

begin

m:=ss[ii]; { считает max(t) }

ll:=ii; { l-номер max }

for t:=ii+1 to jj do

if length(m)

begin

m:=ss[t];

ll:=t;

end;

end;

begin

clrscr;

write('текст p=');readln(p);

j:=1;

for i:=1 to length(p) do

begin

b:=p[i];

if b=' ' then j:=j+1

else s[j]:=s[j]+b;{ склеивание слова и заносим в таб }

end;

b:='';

for i:=1 to j do

begin

maxdl(i,j,s,l); { находим номер мах элм }

b:=s[i]; { меняем местами мах элм: }

s[i]:=s[l];

s[l]:=b;

end;

for i:=1 to j do write(s[i],' ');

readln;

end.