दी गई सरणी के साथ, एक फ़ंक्शन बनाने का कार्य है जो पूर्णांक फ़ंक्शन पॉइंटर्स की सरणी के पॉइंटर को लौटाएगा।
इसके लिए हम दो मान इनपुट करेंगे और एक फ़ंक्शन कॉल करेंगे जो दोनों मानों की तुलना करता है और फ़ंक्शन पॉइंटर जो बड़े मान का मेमोरी एड्रेस लौटाता है और उसे परिणाम के रूप में प्रिंट करता है। फ़ंक्शन पॉइंटर का उपयोग अलग-अलग समय पर अलग-अलग फ़ंक्शन का पता पास करने के लिए किया जाता है जिससे फ़ंक्शन अधिक लचीला और अमूर्त बनता है। इसलिए फ़ंक्शन पॉइंटर्स का उपयोग रन-टाइम मानों के आधार पर निष्पादित करने के लिए फ़ंक्शन का चयन करने का एक सरल तरीका प्रदान करके कोड को सरल बनाने के लिए किया जा सकता है।
big() फ़ंक्शन की व्याख्या
प्रोग्राम दो पूर्णांकों को संदर्भ द्वारा big() फ़ंक्शन में पास करता है जो पास किए गए दो पूर्णांक मानों की तुलना करता है और बड़े मान का मेमोरी एड्रेस लौटाता है। big() का रिटर्न मान पूर्णांक टाइप का होता है जो गैर-शून्य और शून्य मान दोनों हो सकता है।
उदाहरण के लिए
इनपुट - 7 13
आउटपुट - Bigger value is 13
इनपुट - 8 6
आउटपुट - Bigger value is 8
व्याख्या - हमारे पास दो पूर्णांक मान थे और तुलना के बाद, पॉइंटर दोनों में से सबसे बड़े मान का मेमोरी एड्रेस लौटाएगा।
अनुसरण किया जा सकने वाला दृष्टिकोण
- पूर्णांक पॉइंटर लें मान लें, int *c।
- फिर दो पूर्णांक वेरिएबल इनिशियलाइज़ करें।
- उसके बाद हम दो मान इनपुट करेंगे।
- दो दिए गए मानों की तुलना करें।
- अंत में पॉइंटर *c बड़े मान का एड्रेस लौटाता है।
एल्गोरिदम
Start STEP 1-> फ़ंक्शन बनाएं और आर्गुमेंट पास करें। Int *big(int &, int &) END STEP 2-: दो मान दर्ज करने और प्रिंट करने और पॉइंटर *c इनिशियलाइज़ करने के लिए main() फ़ंक्शन कॉल करें। int a, b, *c call c= big(a,b) print c END STEP 3-> पास किए गए दो पूर्णांक मानों की तुलना करें और पॉइंटर c के माध्यम से बड़े मान का मेमोरी एड्रेस लौटाएं। तुलना If(x>y) return(&x) else return(&y) END STOP
उदाहरण
#include<iostream.h> Int *big(int&, int&); Int main( ){ Int a, b, *c; c= big(4, 7); cout<<”The bigger value is”<<*c<<”\n”; return 0; } Int *big(int&x, int&y){ If(x>y) return(&x); else return(&y); }आउटपुट
यदि हम उपरोक्त प्रोग्राम चलाते हैं तो यह निम्नलिखित आउटपुट उत्पन्न करेगा
The bigger value is 7 The bigger value is 5