const n = 50;var a: array[1..n] of integer;procedure ShiftRight(ip: integer);// сдвигает к началу массива все элементы. расположенные за ipvar i: integer;begin for i := ip to n - 1 do a[i] := a[i + 1]; a[n] := -32768end;var i, j, mx, px: integer;begin Randomize; writeln('Исходный массив'); mx := -100; px := 0; for i := 1 to n do begin a[i] := Random(30) - 15; write(a[i]:4); if mx < a[i] then begin mx := a[i]; px := i end end; writeln; writeln('Результирующий массив'); if px = n then for i := 1 to n - 1 do writeln(a[i]:4) else begin for i := 1 to px - 1 do write(a[i]:4); ShiftRight(px); i := px; while (i <= n) and (a[i] <> -32768) do if a[i] < mx then begin write(a[i]:4); i := i + 1 end else ShiftRight(i) end; writelnend.Тестовый пример:Исходный массив 1 2 -13 0 -2 14 -15 4 -6 -3 14 4 -10 -7 -5 11 -1 -10 9 -10 -12 14 4 -9 -5 -14 9 -9 9 5 3 -10 -15 -3 4 -14 -10 7 1 -11 -8 -15 5 -6 9 -3 9 -14 -3 1Результирующий массив 1 2 -13 0 -2 -15 4 -6 -3 4 -10 -7 -5 11 -1 -10 9 -10 -12 4 -9 -5 -14 9 -9 9 5 3 -10 -15 -3 4 -14 -10 7 1 -11 -8 -15 5 -6 9 -3 9 -14 -3 1