GFG App
Open App
Browser
Continue

# Find elements of an Array which are Odd and Even using STL in C++

Given an array, the task is to find elements which are odd and even, using STL in C++ Examples:

```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```

Approach: This can be achieved using count_if() method in C++ Syntax:

`count_if(lower_bound, upper_bound, function)`

where, function takes the element of given sequence one by one as a parameter and returns a boolean value on the basis of condition specified in that function. In this case, the function will be:

```bool isOdd(int i)
{
if (i % 2 != 0)
return true;
else
return false;
}```

Below is the implementation of the above approach:

## CPP

 `// C++ simple program to` `// find elements which are` `// odd and even`   `#include ` `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;` `}`

Output:

```Odd: 3
Even: 3```
My Personal Notes arrow_drop_up