Современные версии программного обеспечения (и в том числе, для языка Паскаль) позволяют в короткие сроки создавать очень короткие, наглядные и эффективные решения.// PascalABC.NET 3.1, сборка 1250 от 28.05.2016begin var a:=ArrRandom(20,-99,99); a.Println; a.Where(x->x<0).Concat(a.Where(x->x>=0)).Printlnend.Тестовое решение88 94 55 -38 43 -72 3 -26 -1 -23 84 93 40 -8 -25 77 4 39 -50 3-38 -72 -26 -1 -23 -8 -25 -50 88 94 55 43 3 84 93 40 77 4 39 3
Замечание:Если стоит задача получить именно массив, а потом его вывести, можно написать так:// PascalABC.NET 3.1, сборка 1250 от 28.05.2016begin var a:=ArrRandom(20,-99,99); a.Println; a:=a.Where(x->x<0).Concat(a.Where(x->x>=0)).ToArray; a.Printlnend.