// PascalABC.NET 3.2, сборка 1488 от 21.06.2017
// Внимание! Если программа не работает, обновите версию!
№4
begin
var F:=ArrRandom(100,-50,50); F.Println;
Writeln('Сумма отрицательных элементов: ',F.Where(x->x<0).Sum)<br>end.
Пример
16 -23 -23 -31 0 -24 44 9 18 -48 26 27 24 8 -41 -37 35 -15 -36 8 -32 -3 -47 39 48 -4 45 -39 -1 -23 15 -44 26 21 -22 49 10 49 41 -29 23 -9 21 25 41 -13 17 19 -27 -49 -20 -46 43 8 -25 -32 -26 -11 -29 -47 -19 33 -40 -10 -12 19 -49 -48 -21 -39 4 37 -6 43 36 28 27 -22 49 10 29 -24 39 -3 48 11 -36 -33 -4 -40 25 -30 27 37 41 40 -20 -20 -13 -29
Сумма отрицательных элементов: -1374
№5
begin
var С:=ArrRandom(50,-10,10); С.Println;
Writeln('Сумма положительных элементов до первого нуля: ',
С.Where(x->x>=0).TakeWhile(x->x<>0).Sum)
end.
Пример
9 -5 -6 8 -6 -6 2 -10 1 -2 10 1 -7 -1 7 -1 0 -5 2 0 5 10 -10 6 -3 -9 -7 -2 9 -5 10 5 -8 4 5 -6 6 -7 -10 -6 -1 -9 -10 10 2 6 -3 7 -8 6
Сумма положительных элементов до первого нуля: 38
№6
begin
var C:=ArrRandom(20,-50,50); C.Println;
var D:=C.Where(x->x>0).ToArray; D.Println
end.
Пример
-38 -34 -49 -21 1 -1 -7 -44 -43 -40 8 -47 -49 44 6 31 -33 39 22 -18
1 8 44 6 31 39 22