একটি অ্যারে দিয়ে দেওয়া হয়েছে এবং কাজটি হল C++ এ স্ট্যান্ডার্ড টেমপ্লেট লাইব্রেরি ব্যবহার করে N দ্বারা বিভাজ্য সংখ্যা খুঁজে বের করা।
এই সমস্যাটি সমাধানের জন্য আমরা C++ স্ট্যান্ডার্ড টেমপ্লেট লাইব্রেরিতে উপস্থিত count_if() ফাংশনটি ব্যবহার করছি।
count_if() ফাংশন কি?
সিনট্যাক্স
count_if(LowerBound, UpperBound, function)
বর্ণনা − এই ফাংশনটি একটি অ্যারের উপাদানগুলির সংখ্যা প্রদান করে যা প্রদত্ত শর্তকে সন্তুষ্ট করে। এটি তিনটি প্যারামিটার লাগে৷
- লোয়ার বাউন্ড − এটি একটি অ্যারের প্রথম উপাদান বা অন্য কোনো ক্রম নির্দেশ করে৷ ৷
- উর্ধ্বসীমা − এটি একটি অ্যারের শেষ উপাদান বা অন্য কোনো ক্রম নির্দেশ করে৷ ৷
- ফাংশন − এটি নির্দিষ্ট শর্তের ভিত্তিতে বুলিয়ান মান প্রদান করে।
উদাহরণ
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