Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++에서 STL을 사용하여 N으로 나눌 수 있는 배열의 요소 찾기

<시간/>

배열과 함께 주어진 작업은 C++의 표준 템플릿 라이브러리를 사용하여 N으로 나눌 수 있는 숫자를 찾는 것입니다.

이 문제를 해결하기 위해 C++ 표준 템플릿 라이브러리에 있는 count_if() 함수를 사용하고 있습니다.

count_if() 함수란 무엇입니까?

구문

count_if(LowerBound, UpperBound, function)

설명 - 이 함수는 주어진 조건을 만족하는 배열의 요소 수를 반환합니다. 세 개의 매개변수가 필요합니다.

  • 하한 − 배열 또는 다른 시퀀스의 첫 번째 요소를 가리킵니다.
  • 상한 − 배열 또는 다른 시퀀스의 마지막 요소를 가리킵니다.
  • 기능 − 지정된 조건에 따라 Boolean 값을 반환합니다.

예시

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

아래 프로그램에서 사용된 접근 방식은 다음과 같습니다. -

  • 정수형 배열에 정수값을 입력합니다.
  • 배열의 요소가 사용자 입력 값 N으로 나눌 수 있는지 확인하는 bool 함수를 만듭니다.
  • 첫 번째와 마지막 요소와 함수를 매개변수로 받는 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