Ich habe diesen Quellcode in Delphi, warum bekomme ich diesen Fehler "Floating-Point-Überlauf." wenn ich den Code ausführen? und wie man es korrigiert?"Floating-Point-Überlauf" Fehler in Delphi-Code
Die Fehlermeldung:
Der Code:
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;
Im 'for' Schleifen Sie den' I' Index verwenden, aber es ist nicht initialisiert, so würde ich einen 'Zugang erwarten Verletzung', aber ... Sie haben nicht gesagt, auf welcher Zeile Sie den Fehler erhalten. –
Aktivieren Sie Warnungen und Hinweise und Bereichsüberprüfung und dann, was aus diesen Änderungen kommt. –
@TomBrunberg Wie initialisiert man ** i ** in der for-Schleife ?? Der Fehler in dieser Zeile ** V [i] [j]: = 5 * V [i] [j] + 2.0 * Zufällig; ** – shdotcom