Я не въехжаю чего куда писать..Если кто может, то допишите плз эту программу..Она распределяет слова в строке по алфавиту и колву букв,но чтоб прально распределялось по алфавиту нада чтоб все буквы маленькими были..как это сделать?Допишите плз!
Код
uses crt;
type arr=array[1..100]of string[80];
procedure enter(var s:string);
begin write('Vvedite stroky:');readln(s) end;
procedure words(s:string;var y:arr;var k:integer);
var i:integer;slovo:string;
begin i:=1;k:=0;
while i<=length(s) do
begin slovo:='';
while (s[i] in ['A'..'Z'])or(s[i] in ['a'..'z']) do
begin slovo:=slovo+s[i];i:=i+1;end;
k:=k+1;y[k]:=slovo;
while not((s[i] in ['A'..'Z'])or(s[i] in ['a'..'z']))do
i:=i+1;
end;
end;
procedure sort(x:arr;nx:integer;var y:arr);
var i,j:integer;tmp:string;
begin y:=x;
for i:=1 to nx-1 do
for j:=i+1 to nx do
if length(y[i])>length(y[j]) then
begin tmp:=y[i];y[i]:=y[j];y[j]:=tmp;end;
end;
procedure sort2(x:arr;nx:integer;var y:arr);
var i,j:integer;tmp:string;
begin y:=x;
for i:=1 to nx-1 do
for j:=i+1 to nx do
if y[i]>y[j] then
begin tmp:=y[i];y[i]:=y[j];y[j]:=tmp;end;
end;
procedure slova(x:arr;nx:integer);
var i:integer;
begin for i:=1 to nx do
write(x[i],#32) end;
var my:string;n:integer;word,srtwrd:arr;
begin textcolor(4);
repeat
clrscr;writeln('1-Vvod,2-Vivod,3-Slova,4-Sort,Esc-Quit');
case readkey of
'1':enter(my);
'2':writeln(my);
'3':begin words(my,word,n);
slova(word,n) end;
'4':begin sort(word,n,srtwrd);
slova(srtwrd,n) end;
'5':begin sort2(word,n,srtwrd);
slova(srtwrd,n) end;
#27:exit;end;
readkey until false;
end.