Změna prvků

Prvek pole můžete také změnit. Napíšete název pole a do hranatých závorek index, stejně jako při čtení prvku, a pomocí = mu přiřadíte novou hodnotu, jako byste ji přiřazovali proměnné:

int body[] = {80, 92, 75, 60, 88};
body[2] = 79;
printf("%d %d %d\n", body[1], body[2], body[3]);

Program vypíše:

92 79 60

Prvek s indexem 2 má teď hodnotu 79 a původní hodnota 75 zmizela. Nic se nevložilo ani neposunulo: pole má pořád pět prvků a ostatní zůstaly stejné.

Pozor, abyste místo = nenapsali ==. Příkaz body[2] == 79; obě hodnoty jen porovná a nic nezmění. Žádnou chybovou hlášku přitom nedostanete: program normálně proběhne, jen si prvek nechá starou hodnotu.

Prvek se chová jako proměnná svého typu, a proto s ním fungují i +=, -=, ++ a --. Ve hře začínají tři hráči, každý se třemi životy:

int zivoty[] = {3, 3, 3};
zivoty[0]--;
zivoty[2] += 2;
printf("%d %d %d\n", zivoty[0], zivoty[1], zivoty[2]);

Program vypíše:

2 3 5

Příkaz zivoty[0]--; vzal prvnímu hráči jeden život a příkaz zivoty[2] += 2; dal třetímu hráči dva životy navíc. Druhý hráč má pořád tři.

Pokyny

Boris správně odpověděl na bonusovou otázku. Pod výpis napište příkaz, který pomocí += přičte 5 k Borisovým bodům, tedy k druhému prvku.

Porota našla chybu v Cyrilových bodech: má mít 25. Pod to napište příkaz, který změní třetí prvek na 25.

Potom body vypište znovu stejným způsobem, třeba zkopírováním řádku s výpisem. Ve výpisu teď uvidíte body před změnami i po nich:

12 7 30
12 12 25

Začněte programovat zdarma

Registrací souhlasíte s provozními podmínkami a zásadami ochrany osobních údajů.

Nebo se registrujte pomocí:

3/12