Написать программу, которая упорядочивает по убыванию ту часть последовательности, которая находиться до минимального элемента этой последовательности
const
N = 10;
var
a: array [1..N] of integer;
i, j: integer;
imin: integer;
temp: integer;
begin
{init random}
for i:=1 to N do a[i]:=random(100);
write('before: ');
for i:=1 to N do write(a[i]:3);
writeln;
imin := 1;
for i:=2 to N do begin
if a[i] < a[imin] then imin := i;
end;
writeln('min is a[', imin, '] = ', a[imin]);
for i:=1 to imin-2 do begin
for j:=i+1 to imin-1 do begin
if a[i] < a[j] then begin
temp:=a[i];
a[i]:=a[j];
a[j]:=temp;
end;
end;
end;
write('after: ');
for i:=1 to N do begin
if i = imin then write('[');
write(a[i]:3);
if i = imin then write(']');
end;
writeln;
end.
вывод
before: 48 63 9 75 2 98 28 13 5 10
min is a[5] = 2
after: 75 63 48 9[ 2] 98 28 13 5 10
Комментариев нет:
Отправить комментарий