000
11.06.2006, 14:23 Uhr
somme
|
Hallo Leute,
Ich muss bis Dienstag ein Programm für eine CD-Sammlung entwerfen, welches eingegebene Daten nach interpreten und titel sortiert und eine Suchfunktion bereitstellt. Bis dahin ist auch alles O.K. Ich verwende dafür einen Binären Suchbaum, der die oben genannten Funktionen tadellos erfüllt.
Jetzt zum Problem.... Es soll ebenfalls eine Funktion bereitgestellt werden, die alle bisher eingegebenen CDs sortiert ausgibt. Dafür habe ich folgende inorder- Traversierung geschrieben.
C++: |
void traverse(cd *inorder, string interpreten[], string titel[], unsigned laufzeiten[]) { if(inorder == leaf) { return; } traverse(inorder->_left, interpreten, titel, laufzeiten); interpreten[zaehler]= inorder->_interpret; titel[zaehler]= inorder->_titel; laufzeiten[zaehler]= inorder->_ges_laufzeit; zaehler++; traverse( inorder->_right, interpreten, titel, laufzeiten); }
|
die ausgabe erfolgt im klienten. Die funktion wird von einer anderen aufgerufen. Nun funktioniert die Funktion genau EINMAL wie gewünscht, gibt also sämtliche CDs korrekt aus.... will ich den Vorgang allerdings wiederholen, schmiert das Programm ab !
Will euch nicht mit dem ganzen Quellcode erschlagen und hoffe daher, dass die Informationen genügen ! wenn nicht schreibt es bitte, dann poste ich mehr davon!
Danke schon mal für eure bemühungen !
Bearbeitung: |
jungs ... erst denken, dann posten, und zwar mit codetags!
|
Dieser Post wurde am 11.06.2006 um 22:36 Uhr von FloSoft editiert. |