Elemente ändern
Du kannst auch ein Element eines Vektors ändern. Schreibe den Namen des Vektors und den Index in eckigen Klammern, genau wie beim Lesen eines Elements, und weise mit = einen neuen Wert zu, wie bei einer Variablen:
std::vector<std::string> vorsaetze = {"Tagebuch schreiben", "Einen Falknerkurs besuchen", "Jonglieren lernen"};
vorsaetze[1] = "Einen Malkurs besuchen";
std::cout << vorsaetze[0] << ", " << vorsaetze[1] << ", " << vorsaetze[2] << std::endl;Das gibt aus:
Tagebuch schreiben, Einen Malkurs besuchen, Jonglieren lernenDas Element mit dem Index 1 hat jetzt einen neuen Wert, der alte ist weg. Es wurde nichts eingefügt oder verschoben: Der Vektor hat immer noch drei Elemente, und die anderen sind gleich geblieben.
Achte darauf, nicht == statt = zu schreiben. Die Anweisung vorsaetze[1] == "Einen Malkurs besuchen"; vergleicht nur die Werte und ändert nichts. Das Programm meldet keinen Fehler, der Vektor bleibt einfach, wie er ist.
Ein Element eines Vektors verhält sich wie eine Variable seines Typs. Mit den Elementen eines Vektors aus Zahlen kannst du also rechnen, und auch +=, -= und ++ funktionieren:
std::vector<int> punkte = {12, 7, 30};
punkte[1] += 5;
punkte[2]++;
std::cout << punkte[0] + punkte[1] << std::endl;
std::cout << punkte[1] << " " << punkte[2] << std::endl;Das gibt aus:
24
12 31punkte[1] += 5; hat zum zweiten Element fünf addiert, und punkte[2]++; hat das dritte Element um eins erhöht.
So schreibst du es:
Anweisungen
- 1
Adam ist in ein anderes Team gewechselt, und Daniel hat seinen Platz übernommen. Schreibe unter der Ausgabezeile eine Anweisung, die das zweite Element von
kollegenin"Daniel"ändert. - 2
Gib den Vektor dann auf dieselbe Weise noch einmal aus, zum Beispiel indem du die Ausgabezeile kopierst. Die Ausgabe zeigt jetzt den Vektor vor und nach der Änderung:
Peter, Adam, Lena Peter, Daniel, Lena