एक एरे दिया गया है और कार्य C++ में मानक टेम्पलेट लाइब्रेरी का उपयोग करके उन संख्याओं को ढूंढना है जो N से विभाज्य हैं।
इस समस्या को हल करने के लिए हम C++ मानक टेम्पलेट लाइब्रेरी में मौजूद count_if() फ़ंक्शन का उपयोग कर रहे हैं।
count_if() फ़ंक्शन क्या है?
सिंटैक्स
count_if(LowerBound, UpperBound, function)
विवरण − यह फ़ंक्शन एरे में उन तत्वों की संख्या लौटाता है जो दी गई शर्त को पूरा करते हैं। यह तीन पैरामीटर लेता है।
- लोअर बाउंड − यह एरे या किसी अन्य अनुक्रम के पहले तत्व को इंगित करता है।
- अपर बाउंड − यह एरे या किसी अन्य अनुक्रम के अंतिम तत्व को इंगित करता है।
- फ़ंक्शन − यह निर्दिष्ट शर्त के आधार पर बूलियन मान लौटाता है।
उदाहरण
Input-: array[] = {2, 4, 1, 5, 8, 9} N = 4 Output-: 4 से विभाज्य तत्व: 2 Input-: array[] = {1, 2, 3, 4, 5, 10} N = 2 Output: 2 से विभाज्य तत्व: 3नीचे दिए गए प्रोग्राम में उपयोग किया गया दृष्टिकोण इस प्रकार है −
- पूर्णांक प्रकार के एरे में पूर्णांक मान इनपुट करें।
- बूल फ़ंक्शन बनाएं यह जांचने के लिए कि एरे का तत्व उपयोगकर्ता इनपुट मान N से विभाज्य है या नहीं।
- count_if() फ़ंक्शन को कॉल करें जो पहले और अंतिम तत्व और फ़ंक्शन को पैरामीटर के रूप में लेता है।
उदाहरण
#include <bits/stdc++.h> using namespace std; int n; // फ़ंक्शन यह जांचने के लिए कि तत्व 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