Введите предложение длинной не более 80 символов. Упорядочите его слова по убыванию длины. Выведите на экран слова в столбик
Категория: Delphi/Pascal
2012-01-06 19:15:19
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.
Поделиться: