noch ein fehler:
int middle (int b[]) //sucht den Mittelwert eines Feldes
{
int big=0;
int small=b[0];
das ist falsch.
du must small auf den größtmöglichen integerwert (oder zumindest auf den größten feldwert) setzen.
warum sollte dieser größte wert ausgerechnet in b[0] stehen?
auserdem hast du ja immer noch sizeof drinstehen (ein paar zeilen drunter) !???
vielleicht noch ein letzter tip:
nimm dir 9 zettel und schreib deine feldwerte drauf.
leg die zettel vor dich hin und mach mal quicksort per hand.
mach das ein paar mal und überleg dir, wie man es machen sollte, damit die zettel möglichst wenig bewegt werden.
nimm dir 9 neue zettel und schreib mal ungewöhnliche werte drauf (z.b. schon sortiert, falsch sortiert, alle gleich, alle bis auf einen gleich, etc.etc.)
spiel weiter quicksort.
spiele so lange mit den zetteln, bis du quicksort und dessen schwierigkeiten wirklich verstanden hast.
schieb dein programfile in den papierkorb und fang noch mal neu an - diesmal langsam und richtig
wenn du genug mit den zetteln gespielt hast (und quicksort verstanden hast) kannst du das programmieren eigentlich auch lassen: ist eh schon tausendmal hingeschrieben worden
trotzdem viel spass noch![]()
Lesezeichen