// PascalABC.NET 3.1, сборка 1230 от 27.04.2016
begin
var a:=ArrRandom(ReadInteger('n='),-99,99); a.Println;
Writeln('Положительных элементов: ',a.Where(x->x>0).Count);
a:=a.Select((x,i)->x>0?i+1:x).ToArray;
a.Println
end.
Тестовое решение:
n= 15
38 88 56 -39 -97 -60 -98 45 -16 -90 51 -4 84 28 -16
Положительных элементов: 7
1 2 3 -39 -97 -60 -98 8 -16 -90 11 -4 13 14 -16