001
13.12.2011, 08:42 Uhr
ao
(Operator)
|
Hi, mo.base, da sind gleich mehrere Fehler.
1. baum5 ist ein Objekt vom Typ Baum, kein Zeiger auf Baum. Deshalb heißt es baum5.keys und nicht baum5->keys.
2. Die Schleife ist falsch formuliert. Wenn du mit jedem Keys-Element irgendwas machen willst, dann geht das so:
C++: |
for (int i = 0; i < baum5.keys.size(); i++) { // was machen mit baum5.keys[i] }
|
3. Mir ist nicht ganz klar, was du machen willst. Willst du * jeden zweiten Schlüssel entfernen (keys[1], keys[3], keys[5] usw.) oder * die Schlüssel mit ungeraden Werten entfernen? Dafür musst du remove aufrufen, wenn keys[i] % 2 != 0 ist.
Aber aufpassen: Durch die Remove-Aktion rücken alle Elemente, die hinter Platz i stehen, um einen Platz nach vorn. Du musst also nach dem Remove auch i-- machen, um den Index zu korrigieren, sonst überspringst du das Element, was als nächstes folgt. Dieser Post wurde am 13.12.2011 um 09:11 Uhr von ao editiert. |