Ниже будет примерный код задачи, который я написала, но который не сортирует. Скажите, пожалуйста что где нужно добавить! Спасибо!
Код
program exam_my;
type
str20=string[20];
mas=array[1..20]of str20;
var
f:text;
i:byte;
flname:string[10];
x:mas;
y:string[20];
procedure vivod(var f:text;x:mas);
var
i:integer;
begin
for i:=1 to 20 do
writeln(x[i]);
end;
function minimum(const x:mas):integer;
var
i,min:integer;
begin
for i:=1 to 20 do
for min:=1 to 20 do
if x[i]<x[min] then
minimum:=i
else minimum:=min;
end;
procedure change(const x:mas);
var
i,min,z:integer;
begin
for i:=1 to 20 do
for min:=1 to 20 do
if x[i]<x[min] then
begin
z:=x[i];
x[i]:=x[min];
x[min]:=z;
end;
end;
procedure sort(var x:mas);
var
i:integer;
begin
for i:=1 to 20 do
minimum(x);
change(x);
end;
begin
writeln('ўўҐ¤ЁвҐ Ё¬п д ©« ');
readln(flname);
assign(f,flname);
{$I-}
reset(f);
{$I+}
if Ioresult=0 then
begin
for i:=1 to 20 do
readln(f,y);
sort(x);
vivod(f,x);
end
else
writeln('¤ л© д ©« Ґ бгйҐбвўгҐв');
readln;
end.
type
str20=string[20];
mas=array[1..20]of str20;
var
f:text;
i:byte;
flname:string[10];
x:mas;
y:string[20];
procedure vivod(var f:text;x:mas);
var
i:integer;
begin
for i:=1 to 20 do
writeln(x[i]);
end;
function minimum(const x:mas):integer;
var
i,min:integer;
begin
for i:=1 to 20 do
for min:=1 to 20 do
if x[i]<x[min] then
minimum:=i
else minimum:=min;
end;
procedure change(const x:mas);
var
i,min,z:integer;
begin
for i:=1 to 20 do
for min:=1 to 20 do
if x[i]<x[min] then
begin
z:=x[i];
x[i]:=x[min];
x[min]:=z;
end;
end;
procedure sort(var x:mas);
var
i:integer;
begin
for i:=1 to 20 do
minimum(x);
change(x);
end;
begin
writeln('ўўҐ¤ЁвҐ Ё¬п д ©« ');
readln(flname);
assign(f,flname);
{$I-}
reset(f);
{$I+}
if Ioresult=0 then
begin
for i:=1 to 20 do
readln(f,y);
sort(x);
vivod(f,x);
end
else
writeln('¤ л© д ©« Ґ бгйҐбвўгҐв');
readln;
end.