PascalABC.NET 3.3.5, сборка 1636 от 10.03.2018
Внимание! Если программа не работает, обновите версию!
begin
var a:=ArrRandom(100,-20,20); a.Println;
Writeln('Положительных ',a.Where(t->t>0).Count,
', отрицательных ',a.Where(t->t<0).Count);<br>end.
Пример в прилагаемом скриншоте