Нужно ввести текст и преобразовать так, что слова будут располагаться в порядке возрастания их размера. При этом все операции нужно проводить тока с этой введенной строкой. Алгоритм такой: ищем первое слово, запоминаем его длину. Идем дальше, ищем другое слово, если оно меньше первого, то вставляем его в начало...........и так далее. Введенный текст можно ограничить в длине. Я к сожаления не очень хорошо знаю синтаксис языка......если кто понял о чем я, помогите.
Добавлено через 13 часов 34 минуты
Никто не может помочь????
Добавлено через 19 минут
uses crt;
Const LatLetter = ['A'..'Z','a'..'z',' '];
Type TSetChar=Set of Char;
Procedure InputString(Alphavit:TSetChar; var s:string);
var ch:char;
len:integer;
begin
len:=0;
repeat
ch:=Readkey;
if (ch in LatLetter)then begin
s:=concat(s,ch); len:=len+1;
write(ch);
end else if ord(ch) = 8 then begin
write(chr(8),' ',chr(8)); len:=len-1;
Delete(s,len-1,1);
end;
until (ord(ch)=13);
end;
Procedure FindWords(Alphavit:TSetChar; s:string);
Var i,j,len,count,min:integer;
Begin
len:=length(s);
j:=0;
count:=0;
min:=len;
while(i<=len) do begin
if (s in Alphavit) and (s<>' ') then begin
j:=i;
while s<>' ' do begin
inc(count);
if count < min then
copy(s,j,count+1);
delete(s,j,count);
min:=count;
count:=0;
end;
end;
end; writeln(s);
End;
Var s,s1:string;
Alphavit:TSetChar;
Begin
{clrscr; }
InputString(LatLetter,s);
FindWords(LatLetter,s);
readln;
End.
Приблизительный код.