1
私はこのソースコードをDelphiで持っていますが、なぜこのエラーが発生しますか?「浮動小数点オーバーフロー」私はコードを実行しますか?それを修正する方法は?Delphiコードの「浮動小数点オーバーフロー」エラー
エラーメッセージ:
コード:見て、ここで
procedure TForm1.Button1Click(Sender: TObject);
var n, d, i, j, maxiter , iter: Integer;
Lower,Upper : Double;
X, V : TArray<TArray<Double>>;
begin
Lower := 0;
Upper := 0.2;
n := 100;
d := 55;
SetLength(V, n, d);
SetLength(X, n, d);
maxiter := 2000;
iter := 1;
for i:= 0 n-1 do
for j:=0 to d-1 do
begin
X[i][j]:= Lower + (Upper - Lower) * Random;
V[i][j] := 0.1 * X[i][j];
end;
while (iter <= maxiter) do
begin
for i:= 0 to n-1 do
for j:= 0 to D-1 do
V[i][j]:= 5 * V[i][j] + 2.0 * Random;
iter := iter +1;
end;
end;
あなたは 'i'インデックスを使用し、' for'ループではなく、それが初期化されていないので、私は 'のアクセスを期待します違反ですが、...あなたはエラーをどのラインで受け取ったかは言いませんでした。 –
警告とヒントと範囲チェックを有効にして、それらの変更に起因するものを処理します。 –
@TomBrunberg forループで** i **を初期化する方法は?この行のエラー** V [i] [j]:= 5 * V [i] [j] + 2.0 * Random; ** – shdotcom