Nový vektor z cyklu

Někdy nechcete vědět jen, kolik prvků podmínku splňuje, ale také které. Pak začněte s prázdným vektorem a každý vyhovující prvek do něj přidejte metodou push_back():

std::vector<int> teploty = {18, 24, 27, 15, 31, 22, 29};
std::vector<int> horke = {};
for (int teplota : teploty) {
    if (teplota >= 25) {
        horke.push_back(teplota);
    }
}

std::cout << "Horkých dnů: " << horke.size() << std::endl;
for (int teplota : horke) {
    std::cout << teplota << " ";
}
std::cout << std::endl;
Horkých dnů: 3
27 31 29 

std::vector<int> horke = {}; vytvoří vektor bez prvků. Stačí napsat i jen std::vector<int> horke;: na rozdíl od proměnné typu int bez hodnoty neobsahuje vektor bez hodnoty náhodná data, ale je prázdný. Každé push_back() přidá jeden prvek na konec, takže nový vektor zachová pořadí původního. Původní vektor zůstane, jak byl, a horke.size() vám řekne, kolik prvků jste posbírali. Nový vektor vypíšete dalším cyklem, protože std::cout << horke nefunguje.

Nový vektor nemusí obsahovat stejné hodnoty. Tento cyklus vytvoří vektor, ve kterém je každé číslo dvakrát větší:

std::vector<int> cisla = {3, 8, 5};
std::vector<int> dvojnasobky = {};
for (int cislo : cisla) {
    dvojnasobky.push_back(cislo * 2);
}

for (int cislo : dvojnasobky) {
    std::cout << cislo << " ";
}
std::cout << std::endl;
6 16 10 

Nový vektor vytvořte před cyklem, stejně jako součet nebo počítadlo. Uvnitř cyklu by každý průchod začínal s novým prázdným vektorem a za cyklem by vektor vůbec neexistoval.

Pokyny

Vytvořte prázdný vektor sudaCisla typu std::vector<int>. Pak projděte cisla a každé sudé číslo přidejte do vektoru sudaCisla metodou push_back(). Číslo je sudé, když platí cislo % 2 == 0.

Za tímto cyklem vypište prvky vektoru sudaCisla na jeden řádek, za text Sudá: a oddělené mezerami, stejně jako program vypisuje všechna čísla. Výstup bude Sudá: 12 30 18 4.

Na další řádek vypište, kolik sudých čísel je, pomocí sudaCisla.size(): Počet: 4.

Začněte programovat zdarma

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

Nebo se registrujte pomocí:

9/13