Достаточно длинный?)
var a: array [0..30] of integer;
i, o: integer;
s: string;
begin
for i := 1 to 30 do
begin
a[i] := random(6) - 3;
end;
writeln('Массив:');
for i := 0 to 30 do
begin
writeln('[', i, '] => ', a[i]);
if (a[i] > 0) then
begin
o := o + a[i];
s := s + inttostr(i) + ' ';
end;
end;
writeln('Номера положительных чисел: ', s);
end.