program zadacha;
uses crt;
type
mas1=array [1..20] of integer;
mas2=array [1..20] of integer;
var
T:mas1;
C:mas2;
i,k,p:integer;
sr:real;
begin
randomize;
writeln('Massiv T:');
for i:=1 to 20 do
begin
T[i]:=random(100)-50;
write(T[i], ' ');
end;
writeln;
writeln('Massiv C:');
for i:=1 to 20 do
begin
C[i]:=random(100)-50;
write(C[i], ' ');
end;
writeln;
k:=0;
p:=1;
sr:=0;
for i:=1 to 20 do
begin
if T[i]>0 then
begin
k:=k+1;
p:=p*T[i];
end;
end;
writeln;
if k>0 then sr:=exp(ln(p)*(1/k));
writeln('sr= ',sr:3:3);
writeln;
writeln('New massiv C:');
for i:=1 to 20 do
begin
if (C[i]<0) and (T[i]>0) then C[i]:=T[i];
write(C[i], ' ');
end;
writeln;
readkey;
end.
Иногда выдаёт ошибку, подскажите, пожалуйста, что не так
Заранее спасибо