Решать на pascal abc переставить элементы массива так, чтобы сначала располагались нули, затем положительные элементы в порядке возрастания, затем отрицательные элементы в порядке убывания.
// 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.
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