1. Короткий вариант// PascalABC.NET 3.1, сборка 1230 от 27.04.2016begin 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 -41k=7
2. "Школьный" вариант (а кто сказал, что будет легко?)// PascalABC.NET 3.1, сборка 1230 от 27.04.2016const 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= 1528 46 88 -14 -55 -25 52 43 -7 17 71 -8 -34 56 79 k=9