একটি অ্যারে দিয়ে দেওয়া হয়েছে এবং কাজটি হল 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