Нужно написать программу через массив, вычисляющую функцию
Z= корень из (x[i]^2+1)+2*(y[i]^2+1)+(a[i]^2+1)/ число пи
На ошибки вроде не ругается, но при запуске выдает ошибку что '3.5' is not a valid floating point value, и так с любым числом в StringGrid. Числа записаны правильно, через точку. Код:
Код:
procedure TForm1.Button1Click(Sender: TObject);
Const n=9; pi=3.14;
Var
a,x,y:array[1..n] of real;
i:integer;
s1,s2,s3,z : real;
begin
for i:=1 to n do
a[i]:=StrToFloat(StringGrid1.Cells[i-1,0]);
for i:=1 to n do
x[i]:=StrToFloat(StringGrid2.Cells[i-1,0]);
for i:=1 to N do
y[i]:=StrToFloat(StringGrid3.Cells[i-1,0]);
s1:=0; s2:=2; s3:=0;
begin
s1:=s1+(sqr(x[i])+1);
s2:=s2*(sqr(y[i])+1);
s3:=s3+(sqr(a[i])+1);
end;
z:=sqr(s1+s2+s3)/pi;
Label1.Caption:='z='+FloatToStrF(z,ffFixed,6,2);
end;
end.
lmikle: пользуемся тегами для правильного оформления постов.
Прошу помочь в исправлении ошибки. Заранее спасибо.