Введите предложение длинной не более 80 символов. Упорядочите его слова по убыванию длины. Выведите на экран слова в столбик

code: #pascal
program PascalGuru;
 
var s,slovo:string;
    i,p,n,nn:integer;
    m:array [1..50] of string;
    swop:boolean;
 
 
procedure exchange(var a,b:string);
var c:string;
begin
c:=a; a:=b; b:=c; end;
{--------------------------------------------}
begin
 
write('Predlojenie: '); readln (s);
 
i:=1;
repeat
if copy(s,i,2)='  ' then delete(s,i,1) else inc(i);
until i>length(s);
 
i:=0;
 
        p:=pos(' ',s);
        repeat
        inc(i);
        slovo:=copy(s,1,p-1);
        m[i]:=slovo;
        delete(s,1,p);
        p:=pos(' ',s);
        until p=0;
        n:=i+1;
        m[n]:=s;
{------------------------------------}
writeln;
 
nn:=n;
repeat
swop:=false;
for i:=1 to n-1 do
if length(m[i])<length(m[i+1]) then begin         {esli "<" togda po vozarastaniu}
exchange(m[i],m[i+1]); swop:=true; end;
n:=n-1;
until not swop;
 
 
 
for i:=1 to nn do writeln(m[i]);
 
 
readln;
end.            
Поделиться:

Похожие статьи: