Poison Nuke
24.08.2002, 13:27
Hi,
das muss heute irgendwie nich mein Tag sein. Jetzt ist schon das 2. Prob, was ich nicht auf anhieb lösen kann.
Ich habe also in meinem Programm einen Array von Records, den ich wegen seiner Größe auf dem Heap schieben muss.
Die ganzen Funktionen (Bearbeiten usw.) funktionieren ohne Probleme, aber als ich eben diesen Array mit Bubblesort nach einer best. Kriterium sortieren wollte, wurde ich einfach aus DOS rausgeschmissen, ohne irgendeine Meldung oder so.
Hier der Algo:
BEGIN
WHILE x<max-1 DO BEGIN
inc(x); y:=x;
REPEAT
inc(y);
IF B[x]^.T>B[y]^.T THEN BEGIN
B[0]^.T:=B[x]^.T; B[0]^.A:=B[x]^.A;
B[0]^.V:=B[x]^.V; B[0]^.I:=B[x]^.I;
B[0]^.S:=B[x]^.S;
B[x]^.T:=B[y]^.T; B[x]^.A:=B[y]^.A;
B[x]^.V:=B[y]^.V; B[x]^.I:=B[y]^.I;
B[x]^.S:=B[y]^.S;
B[y]^.T:=B[0]^.T; B[y]^.A:=B[0]^.A;
B[y]^.V:=B[0]^.V; B[y]^.I:=B[0]^.I;
B[y]^.S:=B[0]^.S;
END;
UNTIL y=max;
END;
END;
Die ganzen Records wurden vorher mit "New(B[i])" im Heap erstelllt.
Ich hoffe einer von euch entdeckt den Fehler oder kann mit wenigstens einen Tipp geben, wie ich den Algo so mache, das WinXP damit keine probleme hat.
das muss heute irgendwie nich mein Tag sein. Jetzt ist schon das 2. Prob, was ich nicht auf anhieb lösen kann.
Ich habe also in meinem Programm einen Array von Records, den ich wegen seiner Größe auf dem Heap schieben muss.
Die ganzen Funktionen (Bearbeiten usw.) funktionieren ohne Probleme, aber als ich eben diesen Array mit Bubblesort nach einer best. Kriterium sortieren wollte, wurde ich einfach aus DOS rausgeschmissen, ohne irgendeine Meldung oder so.
Hier der Algo:
BEGIN
WHILE x<max-1 DO BEGIN
inc(x); y:=x;
REPEAT
inc(y);
IF B[x]^.T>B[y]^.T THEN BEGIN
B[0]^.T:=B[x]^.T; B[0]^.A:=B[x]^.A;
B[0]^.V:=B[x]^.V; B[0]^.I:=B[x]^.I;
B[0]^.S:=B[x]^.S;
B[x]^.T:=B[y]^.T; B[x]^.A:=B[y]^.A;
B[x]^.V:=B[y]^.V; B[x]^.I:=B[y]^.I;
B[x]^.S:=B[y]^.S;
B[y]^.T:=B[0]^.T; B[y]^.A:=B[0]^.A;
B[y]^.V:=B[0]^.V; B[y]^.I:=B[0]^.I;
B[y]^.S:=B[0]^.S;
END;
UNTIL y=max;
END;
END;
Die ganzen Records wurden vorher mit "New(B[i])" im Heap erstelllt.
Ich hoffe einer von euch entdeckt den Fehler oder kann mit wenigstens einen Tipp geben, wie ich den Algo so mache, das WinXP damit keine probleme hat.