Дан одномерный массив, который содержит не более 60 вещественных чисел, среди которых есть положительные, отрицательные и нули. переставить элементы массива так, чтобы сначала шли нули, потом отрицательные, а затем положительные элементы массива.
// PascalABC.NET 3.2, сборка 1334 от 12.11.2016 begin var n:=ReadInteger('n='); var a:=SeqRandom(n,-20,20).Select(e->real(e)).ToArray; a.Println; var b:=a.Where(x->x=0).Concat(a.Where(x->x<0)).ToArray; a:=b.Concat(a.Where(x->x>0)).ToArray; a.Println; end.
begin
var n:=ReadInteger('n=');
var a:=SeqRandom(n,-20,20).Select(e->real(e)).ToArray;
a.Println;
var b:=a.Where(x->x=0).Concat(a.Where(x->x<0)).ToArray;
a:=b.Concat(a.Where(x->x>0)).ToArray;
a.Println;
end.
Пример
n= 20
-16 1 16 -11 20 -6 -11 15 0 -9 -14 0 4 -4 2 14 19 7 -14 4
0 0 -16 -11 -6 -11 -9 -14 -4 -14 1 16 20 15 4 2 14 19 7 4