ПАСКАЛЬ, помогите пожалуйста отсортировать по возрастанию отрицательные элементы массива. вывести исходный массив и измененный массив. можно использовать любой метод сортировки.Массив заполнить случайными положительными и отрицательными числами

Const
  n = 10;

var
  a, b, c: array[1..n] of integer;
  i, j, kb, kc, t: integer;

begin
  Randomize;
  Writeln(Исходный массив);
  kb := 0; kc := 0;
  for i := 1 to n do
  begin
    a[i] := random(101) - 50;
    Write(a[i]:4);
    if a[i] < 0 then begin Inc(kb); b[kb] := a[i] end
    else begin Inc(kc); c[kc] := a[i] end
  end;
  Writeln;
  { теперь массив b содержит отрицательныые элементы, с - остальные }
  for i := 1 to kb - 1 do
    for j := 1 to kb - 1 do
      if b[j] > b[j + 1] then
      begin t := b[j]; b[j] := b[j + 1]; b[j + 1] := t end;
  { сливаем массивы b и c в массив а}
  i := 0;
  for j := 1 to kb do begin i := i + 1; a[i] := b[j] end;
  for j := 1 to kc do begin i := i + 1; a[i] := c[j] end;
  Writeln(Результирующий массив);
  for i := 1 to n do Write(a[i]:4);
  Writeln
end.

Тестовое решение:
Исходный массив
 -32  -8  43 -24   8 -45 -13  40  17  46
Результирующий массив
 -45 -32 -24 -13  -8  43   8  40  17  46


Оцени ответ
Подпишись на наш канал в телеграм. Там мы даём ещё больше полезной информации для школьников!

Загрузить картинку