在C ++中使用STL查找奇数和偶数的数组元素

给定一个数组,任务是使用C ++中的标准模板库查找数组中奇数和偶数个元素的数量。

为了解决此问题,我们使用C ++标准模板库中提供的count_if()函数。什么是count_if()函数?

语法

count_if(LowerBound, UpperBound, function)

描述-此函数返回满足给定条件的数组中的元素数。它包含三个参数。

  • 下界-指向数组或任何其他序列的第一个元素。

  • 上限-指向数组或任何其他序列的最后一个元素。

  • 功能-它根据指定的条件返回布尔值。

示例

Input-: array[] = {2, 4, 1, 5, 8, 9}

Output-: Odd elements are: 1, 5 and 9. So, total number of odds is 3

Even elements are: 2, 4 and 8

Input-: array[] = {1, 2, 3, 4, 5, 10}

Output-: Odd elements are: 1, 3 and 5. So, total number of odds is 3

Even elements are: 2, 4 and 10. So, total number of evens is 3

以下程序中使用的方法如下-

  • 在整数类型的数组中输入整数值

  • 创建bool函数以检查数组的元素是否为奇数。如果所选元素是奇数,则其余元素将是偶数。

  • 调用函数count_if(),该函数将第一个和最后一个元素以及该函数作为参数。

示例

#include <bits/stdc++.h>

using namespace std;

//检查元素是否为奇数或偶数的函数

bool check(int i) {

   if (i % 2 != 0)

      return true;

   else

      return false;

}

int main() {

   int arr[] = { 2, 10, 1, 3, 7, 4, 9 };

   int size = sizeof(arr) / sizeof(arr[0]);

   int temp = count_if(arr, arr + size, check);

   cout << "Odds are : " <<temp << endl;

   cout << "Evens are : " << (size - temp) << endl;

   return 0;

}

输出结果

如果我们运行上面的代码,它将生成以下输出-

Odds are: 4

Evens are: 3

以上是 在C ++中使用STL查找奇数和偶数的数组元素 的全部内容, 来源链接: utcz.com/z/350355.html

回到顶部