1. Короткий вариант
// PascalABC.NET 3.1, сборка 1230 от 27.04.2016
begin
var a:=ArrRandom(ReadInteger('n='),-99,99); a.Println;
Writeln('k=',a.Where(x->x>0).Count)
end.
Тестовое решение
n= 15
-69 10 83 -61 -21 -98 -75 -78 27 88 67 -84 61 62 -41
k=7
2. "Школьный" вариант (а кто сказал, что будет легко?)
// PascalABC.NET 3.1, сборка 1230 от 27.04.2016
const
nn=100;
var
i,n,k:integer;
a:array[1..nn] of integer;
begin
Write('n= '); Read(n);
Randomize;
k:=0;
for i:=1 to n do begin
a[i]:=Random(199)-99;
Write(a[i],' ');
if a[i]>0 then Inc(k)
end;
Writeln;
Writeln('k=',k)
end.
Тестовое решение
n= 15
28 46 88 -14 -55 -25 52 43 -7 17 71 -8 -34 56 79
k=9