Einzelnen Beitrag anzeigen

Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#2

Re: "Perfekte" Zahlen suchen: Programm stürzt ab!

  Alt 2. Mär 2008, 23:02
Also Folgendes stört mich ungemein in deiner GetDivisor Methode:
Delphi-Quellcode:
    repeat
      ergebnis := Zahl / divisor;
      str := FloatToStr(ergebnis);
      if length(str)=1 then
      begin
        checkvar := true;
        getSumTemp := getSum;
      end;
    until checkvar = true ;
Was machst du da? Was bewirkt das length(str)=1 ?

Ein paar Anmerkungen zu deinem Code, dir sicherlich sinnvoll sind:
  • Du solltest nicht innerhalb einer Klasse mit globalen Variablen arbeiten, denn damit machst du dir das ganze Klassenkonzept kaputt.
  • Um den Restwert einer Division zu bestimmen solltest du MOD benutzen. Die Umrechnung in Floats durch eine Division kann zu Rundungsfehlern führen. Das würde mir z.B. erklären warum im obigen Code deine if-Bedingung nicht greift.
  Mit Zitat antworten Zitat