// PascalABC.NET 3.2, сборка 1346 от 25.11.2016 // Внимание! Если программа не работает, обновите её версию!
// сортировка выбором procedure SortBySelect(var a:array of integer); begin var j:=a.High; while j>0 do begin var mx:=a[0]; var imx:=0; for var i:=1 to j do if a[i]>mx then begin mx:=a[i]; imx:=i end; a[imx]:=a[j]; a[j]:=mx; j-=1 end end;
begin var a:=ArrRandom(10,-20,20); a.Println; SortBySelect(a); a.Println end.
// Внимание! Если программа не работает, обновите её версию!
// сортировка выбором
procedure SortBySelect(var a:array of integer);
begin
var j:=a.High;
while j>0 do begin
var mx:=a[0];
var imx:=0;
for var i:=1 to j do
if a[i]>mx then begin mx:=a[i]; imx:=i end;
a[imx]:=a[j];
a[j]:=mx;
j-=1
end
end;
begin
var a:=ArrRandom(10,-20,20); a.Println;
SortBySelect(a); a.Println
end.
Пример
-6 14 2 -6 -6 -9 20 -18 13 -18
-18 -18 -9 -6 -6 -6 2 13 14 20