uses crt;
const ds=['A'..'Z','a'..'z',' '];
var s,b:string;
m:array[1..100] of string;
n,i,j:byte;
begin
clrscr;
repeat
j:=0;
writeln('Введите строку из латинских слов, разделенных любым количеством пробелов:');
readln(s);
for i:=1 to length(s) do
if not (s[i] in ds) then j:=1;
if j=1 then writeln('Введены недопустимые символы, повторите ввод.');
until j=0;
n:=0;
i:=1;
while i<=length(s) do
if(s[i]<>' ')and((i=1)or(s[i-1]=' '))then
begin
j:=i;
n:=n+1;
m[n]:='';
while(j<=length(s))and(s[j]<>' ')do
begin
m[n]:=m[n]+s[j];
j:=j+1;
end;
i:=i+length(m[n]);
end
else i:=i+1;
writeln;
for i:=1 to n-1 do
for j:=i+1 to n do
if m[i]>m[j] then
begin
b:=m[i];
m[i]:=m[j];
m[j]:=b;
end;
writeln('Слова по алфавиту:');
for i:=1 to n do
if i<n then write(m[i],' ')
else write(m[i]);
readln
end.