Computer >> Máy Tính >  >> Lập trình >> C ++

Tìm các phần tử của mảng chia hết cho N bằng cách sử dụng STL trong C ++

Được đưa ra với một mảng và nhiệm vụ là tìm số chia hết cho N bằng cách sử dụng thư viện mẫu chuẩn trong C ++.

Để giải quyết vấn đề này, chúng tôi đang sử dụng hàm count_if () có trong thư viện mẫu chuẩn C ++.

Hàm count_if () là gì?

Cú pháp

count_if(LowerBound, UpperBound, function)

Mô tả - Hàm này trả về số phần tử trong mảng thỏa mãn điều kiện cho trước. Nó có ba tham số.

  • Giới hạn dưới - Nó trỏ đến phần tử đầu tiên của một mảng hoặc bất kỳ chuỗi nào khác.
  • Giới hạn trên - Nó trỏ đến phần tử cuối cùng của một mảng hoặc bất kỳ chuỗi nào khác.
  • Chức năng - Nó trả về giá trị Boolean trên cơ sở điều kiện được chỉ định.

Ví dụ

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

Phương pháp tiếp cận được sử dụng trong chương trình dưới đây như sau -

  • Nhập các giá trị số nguyên vào một mảng kiểu số nguyên.
  • Tạo hàm bool để kiểm tra xem phần tử của mảng có chia hết cho giá trị đầu vào của người dùng N.
  • Gọi hàm count_if () lấy phần tử đầu tiên và cuối cùng và hàm làm tham số.

Ví dụ

#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;
}

Đầu ra

Nếu chúng ta chạy đoạn mã trên, nó sẽ tạo ra kết quả sau -

Elements divisible by 4: 2