Hallo
Ich versuche jetzt seit zwei Tagen schon ein ganz einfaches Quicksort- Programm zu schreiben, kriege es aber irgendwie nicht auf die Reihe. Jetzt sagt es mir schon ziemlich lange "Zugriffsverletzung bei Adresse xxx in Modul 'xyz.exe'. Lesen von Adresse yyy." und ich finde den Fehler einfach nicht. Ich weiß wo er in etwa ist, allerdings nicht was falsch ist. Denkfehler wahrscheinlich.
Bitte um Hilfe!!
Hier der Teil der nicht klappt:
procedure zerlege (var zahl:array of integer; u, o: integer);
var p,x: integer;
begin
p := zahl[(u+o) DIV 2];
repeat
while zahl[l] < p do
l := l + 1;
while zahl[r] > p do
r := r - 1;
if zahl[l]>zahl[r] then begin
x:=zahl[l];
zahl[l]:=zahl[r];
zahl[r]:=x;
l:=l+1; r:=r-1;
end;
until l=r;
end;
Also bei dem Dickgedruckten müsste der Fehler sein glaube ich.