Encuentra elementos de una array que son pares e impares usando STL en C++

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

Publicación traducida automáticamente

Artículo escrito por Code_r 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 *