karl92 Geschrieben 30. November 2009 Geschrieben 30. November 2009 hallo, ich habe versucht das sortierprogramm quicksort zu programmieren. jedoch hängt sich das programm bei der ausführung immer auf. ich kann den fehler auch nirgendwo finden... procedure TForm1.Button5Click(Sender: TObject); var m: integer; procedure Quicksort (l,r: integer); var i,j,mitte,merke: integer; begin i:=l; j:=r; mitte:=zahlenf [(l+r) div 2]; repeat while zahlenf [i]<mitte do Inc (i); while mitte < zahlenf [j] do Dec (j); if i<=j then begin merke:=zahlenf[i]; zahlenf [i]:=zahlenf [j]; zahlenf [j]:=merke; Inc (i); Dec (j); end; until i<j; if l<j then Quicksort (l,j); if i<r then Quicksort (i,r); end; begin Quicksort (1,ende); for m:=1 to ende do begin memoausgabefeld(IntToStr(zahlenf[m])); end; end; end.
Klotzkopp Geschrieben 30. November 2009 Geschrieben 30. November 2009 Deine Schleifenabbruchbedingung ist Käse.
karl92 Geschrieben 30. November 2009 Autor Geschrieben 30. November 2009 daran sollte es nicht liegen... das müsste eigentlich so funktionieren. denke eher das im unteren teil was nicht ganz richtig ist gruß
VaNaTiC Geschrieben 1. Dezember 2009 Geschrieben 1. Dezember 2009 Vergleich doch einfach Deinen Quellcode mit dem Pseudocode auf Quicksort ? Wikipedia
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden