Подсчитать количество единиц и нулей в двоичном массиве с использованием STL в С ++?

Опубликовано: 29 Декабря, 2021

Учитывая двоичный массив, задача состоит в том, чтобы подсчитать количество единиц и нулей в этом массиве с помощью STL в C ++.

Примеры:

Ввод: arr [] = {1, 0, 0, 1, 0, 0, 1}
Вывод: 1 = 3, 0 = 4

Ввод: arr [] = {1, 1, 1, 1, 0, 0, 1}
Вывод: 1 = 5, 0 = 2

Рекомендуется: сначала попробуйте свой подход в {IDE}, прежде чем переходить к решению.

Подход: мы можем посчитать то же самое, используя функцию count_if (), присутствующую в STL C ++.

Синтаксис:

count_if (нижняя_ граница, верхняя_ граница, функция_фильтра)

где filter_function - это условие
который отфильтровывает элементы.

Ниже представлена реализация описанного выше подхода:

// 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;
}
Выход:
1-х: 3
0-х: 4
Хотите учиться на лучших видео и практических задачах, ознакомьтесь с базовым курсом C ++ для базового и продвинутого уровня C ++ и курсом C ++ STL для языка и STL. Чтобы завершить подготовку от изучения языка к DS Algo и многому другому, см. Полный курс подготовки к собеседованию .
C++