 Open in App
Not now

# Count the number of 1’s and 0’s in a binary array using STL in C++ ?

• Last Updated : 01 Apr, 2019

Given a binary array, the task is to count the number of 1’s and 0’s in this array using STL in C++.

Examples:

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

## Recommended: Please try your approach on {IDE} first, before moving on to the solution.

Approach: We can count the same using count_if() function present in the STL of C++.

Syntax:

```count_if(lower_bound, upper_bound, filter_function)

where filter_function is a condition
which filters out elements.
```

Below is the implementation of the above approach:

 `// C++ program to Count ` `// the number of 1's and 0's ` `// in a binary array ` ` `  `#include ` `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); ` ` `  `    ``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; ` `} `

Output:

```1's: 3
0's: 4
```
My Personal Notes arrow_drop_up
Related Articles