Počítání

Druhý vzor počítá: kolik prvků splňuje nějakou podmínku? Vypadá podobně jako sčítání, jen místo hodnoty přičítáte 1, a to jen tehdy, když to dovolí if:

std::vector<int> teploty = {18, 24, 27, 15, 31, 22, 29};
int horkeDny = 0;
for (int teplota : teploty) {
    if (teplota >= 25) {
        horkeDny++;
    }
}
std::cout << "Horkých dnů: " << horkeDny << std::endl;
Horkých dnů: 3

Počítadlo horkeDny začíná před cyklem na 0. Cyklus se podívá na každou teplotu a if rozhodne, jestli ji započítat. horkeDny++ se provede jen pro 27, 31 a 29, takže na konci má počítadlo hodnotu 3. Všimněte si dvou párů složených závorek: horkeDny++ je v bloku if, který je v bloku cyklu. Výsledek zase vypíšete až za cyklem.

Počítat můžete i v textu. Tento cyklus spočítá malá písmena a:

std::string slovo = "Abrakadabra";
int pocet = 0;
for (char znak : slovo) {
    if (znak == 'a') {
        pocet++;
    }
}
std::cout << "Počet a: " << pocet << std::endl;
Počet a: 4

Velké A na začátku se nezapočítá: 'A' a 'a' jsou různé znaky.

Jeden cyklus může počítat i několik věcí najednou, každou ve vlastním počítadle. S if a else se každý prvek započítá právě jednou, buď do jednoho, nebo do druhého počítadla.

Pokyny

Vektor vysledky obsahuje počty bodů z testu. V testu uspěje, kdo má 50 a více bodů. Spočítejte, kolik studentů uspělo: vytvořte proměnnou uspeli s hodnotou 0, projděte vysledky cyklem a pro každý výsledek, který je alespoň 50, zvyšte uspeli o 1. Za cyklem vypište výsledek jako Uspěli: 5.

Ve stejném cyklu spočítejte i studenty, kteří neuspěli: před cyklem vytvořte proměnnou neuspeli s hodnotou 0 a zvyšujte ji ve větvi else. Za cyklem vypište na další řádek Neuspěli: 3.

Začněte programovat zdarma

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

Nebo se registrujte pomocí:

7/13