в которых буквы упорядочены по алфавиту, различие заглавных и строчных не учитывать. Вот, что я наработал по этому поводу:
program lex;
var
v, s: string;
b, mas: array[1..50] of string; {*Массив, куда будут записываться слова*}
pp: array[1..50] of string;
u, x, i,j, z: integer;
slv, ds, pro: integer; {*Счётчик слов, длинна предложения
счётчик пробелов*}
f: char;
begin
readln(s);
ds:=length(s);
for i:=1 to ds do s[i]:=upcase(s[i]);
pro:=0;
for i:=1 to ds do if s[i]='.' then
begin
delete(s,pos('.',s),1);
s:=s+' ';
end;
for i:=1 to ds do if s[i]=' ' then inc(pro);
j:=1;
slv:=0;
repeat
begin
x:=pos(' ',s);
v:=copy(s,1,x-1);
delete(s,1,x);
mas[j]:=v;
v:=' ';
inc(j);
inc(slv);
end;
until j=pro+1;
u:=1;
i:=0;
while (j<>slv) do
begin
j:=0;
inc(j);
v:=mas[j];
repeat
begin
inc(v[i]);
if v[i]<v[i+1] then
begin
mas[j]:='';
delete(v,1,length(v));
for j:=1 to slv do
begin
b[j]:=mas[j+1];
mas[j+1]:='';
mas[j]:=b[j];
b[j]:='';
slv:=slv-1;
end;
end;
end;
until (v[i]<v[i+1]) or (i<length(v))
end;
for j:=1 to slv do
write(mas[j],' ');
end.
За ранее спасибо.