2015-12-28 14:25:15 +03:00
|
|
|
// Сортировка выбором
|
2015-05-14 22:35:07 +03:00
|
|
|
uses ArrayLib;
|
|
|
|
|
|
|
|
|
|
procedure SortByChoice(a: array of real);
|
|
|
|
|
begin
|
|
|
|
|
for var i:=0 to a.Length-2 do
|
|
|
|
|
begin
|
|
|
|
|
var min := a[i];
|
|
|
|
|
var ind := i;
|
|
|
|
|
for var j:=i+1 to a.Length-1 do
|
|
|
|
|
if a[j]<min then
|
|
|
|
|
begin
|
|
|
|
|
min := a[j];
|
|
|
|
|
ind := j;
|
|
|
|
|
end;
|
|
|
|
|
a[ind] := a[i];
|
|
|
|
|
a[i] := min;
|
|
|
|
|
end;
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
function CreateRandomArr(n: integer): array of real;
|
|
|
|
|
begin
|
|
|
|
|
Result := new real[n];
|
|
|
|
|
for var i:=0 to Result.Length-1 do
|
|
|
|
|
Result[i] := Random(100);
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
var a: array of real;
|
|
|
|
|
|
|
|
|
|
begin
|
|
|
|
|
a := CreateRandomArr(20);
|
2015-12-28 14:25:15 +03:00
|
|
|
writeln('Содержимое массива: ');
|
2015-05-14 22:35:07 +03:00
|
|
|
WriteArray(a);
|
|
|
|
|
SortByChoice(a);
|
2015-12-28 14:25:15 +03:00
|
|
|
writeln('После сортировки выбором: ');
|
2015-05-14 22:35:07 +03:00
|
|
|
WriteArray(a);
|
|
|
|
|
end.
|