Показать сообщение отдельно
  #1  
Старый 08.12.2019, 14:07
Graduann Graduann вне форума
Прохожий
 
Регистрация: 08.12.2019
Сообщения: 1
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию ... is not a valid floating point value...

Нужно написать программу через массив, вычисляющую функцию
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: пользуемся тегами для правильного оформления постов.

Прошу помочь в исправлении ошибки. Заранее спасибо.
Ответить с цитированием