Упорядочить слова по убыванию длины
Категория: Delphi/Pascal
2011-09-06 23:45:28
Введите предложение длинной не более 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
- 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.
Поделиться: