Einzelnen Beitrag anzeigen

Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.644 Beiträge
 
Delphi 12 Athens
 
#14

Re: Probleme mit Listen/ verkettet Listen

  Alt 25. Okt 2007, 15:45
So, eine ungetestete Version, versuch halt mal:
Delphi-Quellcode:
While Durchlauf Do
   Begin
     Element := Dummy; // Bei jedem Start des Durchlaufs soll wieder auf von vorne gesucht werden
     Durchlauf := False; // wenn nichts gefunden wird, soll die Schleife abgebrochen werden
     gefunden := false; // da die schleife wieder von vorne anfängt, soll erstmal die zweite while do schleife laufen
     While (Element^.nd<> NIL) and (not Gefunden) do // wenn er ende erreicht soll abgebrochen werden
       Begin
         // in der IF Then Anweisung werden die Werte des aktuellen mit dem nächsten vergleicht.. jeweils 20% kleiner/ größer
         // dürfen die Einzelwerte sein, damit die beiden Elemente zusammengelegt werden
         If (Element^.Nummer < (((Element^.Nummer+Element^.nd^.Nummer) / 2) * 1.2)) and
            (Element^.Nummer > (((Element^.Nummer+Element^.nd^.Nummer) / 2) * 0.8)) and
            (Element^.nd^.Nummer < (((Element^.Nummer+Element^.nd^.Nummer) / 2) * 1.2)) and
            (Element^.nd^.Nummer > (((Element^.Nummer+Element^.nd^.Nummer) / 2) * 0.8)) Then
           Begin
             // Sind die beiden Elemente in dem Bereich, dann soll der erste als Wert den Mittelwert beider bekommen
             Element^.Nummer := (Element^.Nummer+Element^.nd^.Nummer) / 2;
             // 2. Element löschen
             tmp := Element^.nd;
             Element^.nd := tmp^.nd;
             Dispose(tmp);
             Durchlauf := true;
             gefunden := true;
           End; //soll weiter suchen, bis die andere While anforderung erfühlt ist.....

         Element:= Element^.nd; // immer ein Element weiter
       End;
   End;
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat