Zitat von
fiasko:
schon mal probiert das ganze im Einzelschritt durchzugehen und immer geschaut (->Überwachte Ausdrücke) wo sich "anzahl" ändert? Im bubblesort kann es ja schlecht sein wenn nicht grad schwarze Magie im Spiel ist
...
Ich habs versucht. Da muss irgendwo schwarze (Compiler-)Magie dahinter sein
Möglicherweise funktionierts mit jeweils einer Hilfsvariable für die beiden Schleifen.
Delphi-Quellcode:
procedure bubblesort();
var i, j, tmp, AnzAussen, AnzInnen: integer;
begin
AnzAussen := anzahl;
AnzInnen := anzahl;
for i := 1 to (AnzAussen - 1) do begin
for j := AnzInnen downto 1 do begin
if werte[j - 1] < werte[j] then begin
tmp := werte[j - 1];
werte[j - 1] := werte[j];
werte[j] := tmp;
end;
end;
end;
end;
Habs aber nicht ausprobiert. Ist jetzt nur mal ne Vermutung.
grüße, daniel