Contar elementos en un vector que coincidan con un valor o condición objetivo

Para determinar el número de enteros en un vector que coincide con un valor particular.

Usamos contar en C++ STL

// CPP program to count vector elements that
// match given target value.
#include <algorithm>
#include <iostream>
#include <vector>
using namespace std;
  
int main()
{
    vector<int> v{ 10, 30, 30, 10, 30, 30 };
    int target = 30;
    int res = count(v.begin(), v.end(), target);
    cout << "Target: " << target << " Count : " << res << endl;
    return 0;
}
Producción:

Target: 30 Count : 4

¿Cómo contar los elementos que coinciden con una condición?
Podemos usar expresiones lambda en C++ para lograr esto.

Usamos count_if en C++ STL

// lambda expression to count elements
// divisible by 3.
#include <algorithm>
#include <iostream>
#include <vector>
using namespace std;
int main()
{
    vector<int> v{ 10, 18, 30, 10, 12, 45 };
    int res = count_if(v.begin(), v.end(),
                       [](int i) { return i % 3 == 0; });
    cout << "Numbers divisible by 3: " << res << '\n';
    return 0;
}
Producción:

Numbers divisible by 3: 4

Publicación traducida automáticamente

Artículo escrito por aishwarya.27 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *