Dado un arreglo binario, la tarea es contar el número de 1 y 0 en este arreglo usando STL en C++.
Ejemplos:
Input: arr[] = {1, 0, 0, 1, 0, 0, 1} Output: 1's = 3, 0's = 4 Input: arr[] = {1, 1, 1, 1, 0, 0, 1} Output: 1's = 5, 0's = 2
Enfoque: Podemos contar lo mismo usando la función count_if() presente en el STL de C++.
Sintaxis:
count_if(lower_bound, upper_bound, filter_function) where filter_function is a condition which filters out elements.
A continuación se muestra la implementación del enfoque anterior:
// C++ program to Count // the number of 1's and 0's // in a binary array #include <bits/stdc++.h> using namespace std; // Function to check // if bit is 1 or not bool isOne(int i) { if (i == 1) return true; else return false; } // Driver Code int main() { int a[] = { 1, 0, 0, 1, 0, 0, 1 }; int n = sizeof(a) / sizeof(a[0]); int count_of_one = count_if(a, a + n, isOne); cout << "1's: " << count_of_one << endl; cout << "0's: " << (n - count_of_one) << endl; return 0; }
Producción:
1's: 3 0's: 4
Publicación traducida automáticamente
Artículo escrito por namankhare42 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA