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); Writelnend.
Тестовое решение:Исходный массив -32 -8 43 -24 8 -45 -13 40 17 46Результирующий массив -45 -32 -24 -13 -8 43 8 40 17 46