главная     электронная почта

Решение задачи

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



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)>length(ss[t]) then
  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.


Hosted by uCoz