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

Asandyana Asandyana    1   24.06.2019 06:00    0

Ответы
choserge choserge  19.07.2020 20:29
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
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика