Удалить из массива все максимальные элементы паскаль

Удалить из массива все максимальные элементы паскаль
Гость
Ответ(ы) на вопрос:
Гость
const   n = 50; var   a: array[1..n] of integer; procedure ShiftRight(ip: integer); // сдвигает к началу массива все элементы. расположенные за ip var   i: integer; begin   for i := ip to n - 1 do a[i] := a[i + 1];   a[n] := -32768 end; 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;   writeln end. Тестовый пример: Исходный массив    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
Не нашли ответ?
Ответить на вопрос
Похожие вопросы