C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

C++でSTLを使用してNで割り切れる配列の要素を検索します


配列で与えられ、タスクは、C++の標準テンプレートライブラリを使用してNで割り切れる数を見つけることです。

この問題を解決するために、C ++標準テンプレートライブラリにある関数count_if()を使用しています。

count_if()関数とは何ですか?

構文

count_if(LowerBound, UpperBound, function)

説明 −この関数は、指定された条件を満たす配列内の要素の数を返します。 3つのパラメータが必要です。

  • 下限 −配列またはその他のシーケンスの最初の要素を指します。
  • 上界と下界 −配列またはその他のシーケンスの最後の要素を指します。
  • 機能 −指定された条件に基づいてブール値を返します。

Input-: array[] = {2, 4, 1, 5, 8, 9}
N = 4
Output-: Elements divisible by 4: 2
Input-: array[] = {1, 2, 3, 4, 5, 10}
N = 2
Output: Elements divisible by 2: 3

以下のプログラムで使用されるアプローチは次のとおりです

  • 整数型の配列に整数値を入力します。
  • bool関数を作成して、配列の要素がユーザー入力値Nで割り切れるかどうかを確認します。
  • 最初と最後の要素と関数をパラメーターとして受け取る関数count_if()を呼び出します。

#include <bits/stdc++.h>
using namespace std;
int n;
//function to check if the element is divisible by n
bool check(int i) {
   if (i % n == 0)
      return true;
   else
      return false;
}
int main() {
   int arr[] = {2, 4, 1, 5, 8, 9};
   n = 4;
   int size = sizeof(arr) / sizeof(arr[0]);
   int temp = count_if(arr, arr + size, check);
   cout<<"Elements divisible by "<<n<< ": " <<temp;
   return 0;
}

出力

上記のコードを実行すると、次の出力が生成されます-

Elements divisible by 4: 2

  1. C ++ STLでfind()関数を設定します

    C ++STLのsetfind()関数は、setコンテナで検索される要素にイテレータを返します。要素が見つからない場合、イテレータはセット内の最後の要素の直後の位置を指します。 アルゴリズム Begin    Define function printS() to print elements of set container.    initialize an empty set container s. Insert some elements in s    set container. Call function to pri

  2. STLを使用したC++の配列製品

    これは、配列製品を見つけるためのC++プログラムの例です。 アルゴリズム Begin Initialize the values of array. Call used defined function accumulate to return the product of array. Print the solution. End. サンプルコード #include <iostream> #include <numeric> using namespace std; int ProductOfArray(int p[], int n) { &nbs