Const n = 10; type arr=array[1..n] of byte; procedure sort(var a:arr); var i, j, max, imax:integer; begin j := n; while j > 1 do begin max := a[1]; imax := 1; for i := 2 to j do if a[i] > max then begin max := a[i]; imax := i end; a[imax] := a[j]; a[j] := max; j := j - 1 end; end; var a: arr; i: byte;
begin Randomize; writeln('Исходный массив:'); for i := 1 to n do begin a[i] := random(256); write(a[i]:4) end; writeln; sort(a); writeln('Отсортированный массив:'); for i := 1 to n do write(a[i]:4); writeln; end.
Procedure Sort(arr : array of integer); var i, j, temp, len, min : integer; begin len := length(arr);
for j := 0 to len - 2 do begin min := j;
for i := j + 1 to len - 1 do if arr[i] < arr[min] then min := i;
if min > j then begin temp := arr[j]; arr[j] := arr[min]; arr[min] := temp; end; end; end;
const N = 10; // Количество элементов массива Max = 100; // Максимальное число в массиве var arr : array of integer; i : integer; begin //Устанавливаем длину массива SetLength(arr, N);
for i := 0 to N - 1 do arr[i] := random(Max);
//Выводим исходный массив for i := 0 to N - 1 do write(arr[i], ' '); writeln();
Sort(arr);
//Выводим отсортированный массива for i := 0 to N - 1 do write(arr[i], ' '); writeln(); end.
type arr=array[1..n] of byte;
procedure sort(var a:arr);
var i, j, max, imax:integer;
begin
j := n;
while j > 1 do begin
max := a[1];
imax := 1;
for i := 2 to j do
if a[i] > max then begin
max := a[i];
imax := i
end;
a[imax] := a[j];
a[j] := max;
j := j - 1
end;
end;
var
a: arr; i: byte;
begin
Randomize;
writeln('Исходный массив:');
for i := 1 to n do
begin
a[i] := random(256);
write(a[i]:4)
end;
writeln;
sort(a);
writeln('Отсортированный массив:');
for i := 1 to n do write(a[i]:4);
writeln;
end.
Пример:
Исходный массив:
119 239 156 143 34 184 93 19 218 120
Отсортированный массив:
19 34 93 119 120 143 156 184 218 239
var
i, j, temp, len, min : integer;
begin
len := length(arr);
for j := 0 to len - 2 do
begin
min := j;
for i := j + 1 to len - 1 do
if arr[i] < arr[min] then
min := i;
if min > j then
begin
temp := arr[j];
arr[j] := arr[min];
arr[min] := temp;
end;
end;
end;
const
N = 10; // Количество элементов массива
Max = 100; // Максимальное число в массиве
var
arr : array of integer;
i : integer;
begin
//Устанавливаем длину массива
SetLength(arr, N);
for i := 0 to N - 1 do
arr[i] := random(Max);
//Выводим исходный массив
for i := 0 to N - 1 do
write(arr[i], ' ');
writeln();
Sort(arr);
//Выводим отсортированный массива
for i := 0 to N - 1 do
write(arr[i], ' ');
writeln();
end.