Dada una array, la tarea es encontrar elementos que sean pares e impares, usando STL en C++ Ejemplos:
Input: a[] = {1, 2, 3, 4, 5, 10} Output: Odd = 3, Even = 3 Input:a[] = {4, 3, 5, 9, 11} Output: Odd = 4, Even = 1
Enfoque: Esto se puede lograr usando el método count_if() en C++ Sintaxis:
count_if(lower_bound, upper_bound, function)
donde, la función toma el elemento de la secuencia dada uno por uno como parámetro y devuelve un valor booleano sobre la base de la condición especificada en esa función. En este caso, la función será:
bool isOdd(int i) { if (i % 2 != 0) return true; else return false; }
A continuación se muestra la implementación del enfoque anterior:
CPP
// C++ simple program to // find elements which are // odd and even #include <bits/stdc++.h> using namespace std; // Function to check // if the element is odd or even bool isOdd(int i) { if (i % 2 != 0) return true; else return false; } // Driver code int main() { int a[] = { 1, 2, 6, 3, 4, 5 }; int n = sizeof(a) / sizeof(a[0]); int count = count_if(a, a + n, isOdd); cout << "Odd: " << count << endl; cout << "Even: " << (n - count) << endl; return 0; }
Producción:
Odd: 3 Even: 3