Elemente ändern
Du kannst ein Element eines Arrays auch ändern. Schreibe den Namen des Arrays und den Index in eckigen Klammern, genau wie beim Lesen eines Elements, und weise mit = einen neuen Wert zu, so wie bei einer Variablen:
int punkte[] = {80, 92, 75, 60, 88};
punkte[2] = 79;
printf("%d %d %d\n", punkte[1], punkte[2], punkte[3]);Das gibt Folgendes aus:
92 79 60Das Element mit dem Index 2 hat jetzt den Wert 79, und die alte 75 ist weg. Es wurde nichts eingefügt oder verschoben: Das Array hat weiterhin fünf Elemente, und die anderen sind gleich geblieben.
Achte darauf, nicht == statt = zu schreiben. Die Anweisung punkte[2] == 79; vergleicht die beiden Werte nur und ändert nichts. Du bekommst keine Fehlermeldung: Das Programm läuft, und das Element behält einfach seinen alten Wert.
Ein Element verhält sich wie eine Variable seines Typs, deshalb funktionieren auch +=, -=, ++ und -- damit. In einem Spiel starten drei Spieler mit je drei Leben:
int leben[] = {3, 3, 3};
leben[0]--;
leben[2] += 2;
printf("%d %d %d\n", leben[0], leben[1], leben[2]);Das gibt Folgendes aus:
2 3 5leben[0]--; hat dem ersten Spieler ein Leben genommen, und leben[2] += 2; hat dem dritten Spieler zwei Extraleben gegeben. Der zweite Spieler hat immer noch drei.
So schreibst du es:
Anweisungen
- 1
Ben hat eine Bonusfrage beantwortet. Schreibe unter der Ausgabezeile eine Anweisung, die mit
+=5zu Bens Punkten, dem zweiten Element, addiert. - 2
Die Jury hat einen Fehler bei Emres Punkten gefunden: Er müsste
25haben. Schreibe darunter eine Anweisung, die das dritte Element auf25ändert. - 3
Gib dann die Punkte noch einmal auf dieselbe Weise aus, zum Beispiel indem du die Ausgabezeile kopierst. Jetzt zeigt die Ausgabe sie vor und nach den Änderungen:
12 7 30 12 12 25