// PascalABC.NET 3.0, сборка 1128
begin
var n:=ReadInteger('n=');
var a:=ArrRandom(n,-5,5).Println(',');
(a.Where(x->x=0)+a.Where(x->x>0).OrderBy(x->x)+
a.Where(x->x<0).OrderByDescending(x->x)).Println(',')
end.
Тестовое решение:
n= 15
0,-2,0,-5,-5,2,-4,2,-1,1,1,2,4,2,5
0,0,1,1,2,2,2,2,4,5,-1,-2,-4,-5,-5