Другие языки программирования и технологии

Сортировка массива (Паскаль) помогите пожалуйста

{Дан массив А(10). Найти максимальный элемент массива, упорядочить элементы, следующие за ним по убыванию.} Максимальный я нашел только вот отсортировать не могу помогите const N=10; VAR A:ARRAY[1..N] OF INTEGER; imax, temp,i,j,k,MAX:INTEGER; BEGIN randomize; FOR I:=1 TO N DO begin A:=RANDOM(20); WRITE(A:5); end; MAX:=A[1]; Imax := 1; FOR I:=2 TO N DO begin IF A>MAX THEN begin MAX:=A; Imax := i; end; end; WriteLn; WriteLn('Max = ', max, ' Imax = ', Imax); end.
{Дан массив А (10). Найти максимальный элемент массива,
упорядочить элементы, следующие за ним по убыванию. }
const N=10;
VAR A:ARRAY[1..N ] OF INTEGER;
imax,MAX,i,j, temp:INTEGER;
BEGIN

RANDOMIZE;

FOR I:=1 TO N DO begin
A [ I ] :=RANDOM(150)-50;
WRITE(A [ I ] :5);
end;
MAX:=A [ 1 ] ;
Imax := 1;
FOR I:=2 TO N DO begin
IF A [ I ] >MAX THEN begin
MAX:=A [ I ] ;
Imax := i;
end;
end;
WriteLn;
WriteLn('Max = ', max, ' Imax = ', Imax);

for i:= Imax to N-1 do begin
for j := i+1 to N do begin
if A [ i ] < A [ j ] then begin
temp := a [ i ] ;
a [ i ] := a [ j ] ;
a [ j ] := temp;
end;
end;
end;

for i := 1 to N do begin
write(A [ i ] :4);
end;
end.
Александр Герасименко
Александр Герасименко
7 015
Лучший ответ
Упорядочены будут все элементы после последнего встреченного максимума. Ошибки в Вашей программке исправдены:
const N=10;
VAR A:ARRAY[1..N] OF INTEGER;
imax, temp,i,j,k,MAX:INTEGER;
BEGIN
randomize;
writeln;
FOR I:=1 TO N DO
begin
A:=RANDOM(10);
WRITE(A:5);
end;
MAX:=A[1];
Imax := 1;
FOR I:=2 TO N DO
begin
IF A>MAX THEN
begin
MAX:=A;
Imax := i;
end;
end;
WriteLn;
WriteLn('Max = ', max, ' Imax = ', Imax);
for i:=imax+1 to N-1 do
for j:=i+1 to N do
if a<a[j]>;
a:=a[j];
a[j]:=max;
end;
Writeln;
For i:=1 to N do
write(a:5);
end.
for i:=1 to 9 do
begin
if a>a[i+1];
temp := a;
a := a[i+1];
a[i+1] := temp;
end;

сортировка массива методом пузырька. Максимальным будет последнее значение массива, а именно a[10].