Forum: Sonstige Fragen zu Delphi
by marabu,
1. Jan 2007
Hi,
bei meinem Test kommen die richtigen Werte.
Hier mein Versuch mit verschachtelten Serien:
type
TSeries = ({e192, e96, e48,} e24, e12, e6, e3);
Forum: Sonstige Fragen zu Delphi
by marabu,
1. Jan 2007
Alles Gute im Neuen Jahr, Frank.
Ob das eine wirklich gute Idee ist - innerhalb der binären Suche eine Schrittweite einzuführen? Ich würde das außen vor lassen:
const
E6: array of Integer = (100, 150, 220, 330, 470, 680);
function Find(value: Integer; series: array of Integer; var index: Integer): Boolean;
var
Forum: Sonstige Fragen zu Delphi
by marabu,
31. Dez 2006
Durch die Log10()-Funktion wird der Eingabewert korrekt auf das nach oben halboffene Intervall function Find(value: Double; series: TDoubleDynArray; var index: Integer): Integer;
auf einer beliebigen übergebenen E-Reihe implementierst. Ist der Rückgabewert gleich series.Count, dann ist der Eingangswert der richtige und dExp muss um eins inkrementiert werden.
Freundliche Grüße
Forum: Sonstige Fragen zu Delphi
by marabu,
31. Dez 2006
Vielleicht solltest du statt Round() die Funktion Trunc() verwenden - sonst fliegst du ab 999.5 doch noch aus der Dekade raus.
Freundliche Grüße
Forum: Sonstige Fragen zu Delphi
by marabu,
30. Dez 2006
Hallo Frank,
etwas kompakter - wenn dich die höheren Rechenarten nicht stören - geht es so:
uses
Math;
function Norm(e: Extended; var dExp: Integer): Extended;
begin
Forum: Sonstige Fragen zu Delphi
by marabu,
29. Dez 2006
Hallo,
es gibt noch einen thread zum gleichen Thema, an den ich mich noch erinnere: auf einen standartisierten wert aufrunden
Grüße vom marabu