Iterace přes vektor
Někdy chceme projít prvky vektoru jeden po jednom. Toho můžeme docílit několika způsoby pomocí cyklu for.
Klasický cyklus for
by mohl vypadat následovně:
std::vector hry = {"Fotbal", "Tenis", "Golf"};
for (int i = 0; i < hry.size(); i++) {
std::cout << hry[i] << std::endl;
}
Vypíše:
Fotbal
Tenis
Golf
Tento cyklus se opakuje dokud je i
menší než velikost vektoru a v každé iteraci vypíše prvek vektoru na indexu i
.
V C++ máme i modernější a jednodušší způsob, jak tohoto docílit - range-based for cyklus:
std::vector<std::string> hry = {"Fotbal", "Tenis", "Golf"};
for (std::string prvek : hry) {
std::cout << prvek << std::endl;
}
Vypíše:
Fotbal
Tenis
Golf
Tady máme iterační proměnnou prvek
(můžeme jí dát jakékoliv jméno). Tento zápis nám při každé iteraci do proměnné prvek
uloží hodnotu odpovídajícího prvku vektoru.
Nevýhodou tohoto zápisu je, že může být použit jen když chceme procházet všechny prvky vektoru. Se standardním zápisem můžeme procházet i po zpátku, přeskakovat prvky nebo začít na zvoleném indexu.
Pokyny
Jakýmkoliv zápisem cyklu for
projděte vektor spoluhraci
a vypište každý prvek vektoru na nový řádek.
Začněte programovat zdarma
4/9