Подсчитать количество единиц и нулей в двоичном массиве с использованием 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 и многому другому, см. Полный курс подготовки к собеседованию .