👤

Se da tabloul unidimensional A cu 15 elemente intregi. Sa se scrie un program care va calcula produsul elementelor de pe locurile pare divizibile cu 2.

Răspuns :

#include <iostream>
#include <vector>
#include <algorithm>
#include <numeric>

int main()
{
    std::vector<int> vec(15);
    for (auto & elem : vec)
        std::cin >> elem;

    std::vector<int> evenVec;
    bool even = true;
    std::copy_if(std::begin(vec), std::end(vec), std::back_inserter(evenVec),
                   [&even](int elem) { return (even = !even) && (elem % 2 == 0); });
    const int product = std::accumulate(std::begin(evenVec), std::end(evenVec), 1, std::multiplies<int>());
    std::cout << (product == 1 ? 0 : product);
}