Das mit den Kettenbrüchen aber nicht ernstnehmen
.
So sollte es ja etwa aussehen:
Delphi-Quellcode:
Approximation(Value, delta: Single; MaxDenominator: Integer): TBruchArray; //delta ist der maximale Unterschied, deine Implementierung der Brüche habe ich mir nicht angeschaut
var i: Integer;
begin
for i:=1 to MaxDenominator do
if Abs(Round(i*Value)/i)<delta then //Round(i*Value) müsste der Zähler sein
//Bruch hinzufügen
end;
Also, entweder es ist richtig oder total falsch
.