Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C++

पूर्णांक फ़ंक्शन पॉइंटर्स की सरणी में C/C++ फ़ंक्शन रिटर्निंग पॉइंटर घोषित करें

दिए गए सरणी के साथ कार्य एक फ़ंक्शन बनाना है जो पॉइंटर को पूर्णांक फ़ंक्शन पॉइंटर्स की एक सरणी में लौटाएगा।

उसके लिए हम दो मानों को इनपुट करेंगे और एक फ़ंक्शन को कॉल करेंगे जो दो मानों और फ़ंक्शन पॉइंटर दोनों की तुलना करता है जो बड़े मूल्य के मेमोरी एड्रेस को लौटाता है और परिणामस्वरूप इसे प्रिंट करता है। फ़ंक्शन पॉइंटर का उपयोग अलग-अलग फ़ंक्शन के पते को अलग-अलग समय पर पास करने के लिए किया जाता है जिससे फ़ंक्शन अधिक लचीला और सारगर्भित हो जाता है। तो फ़ंक्शन पॉइंटर्स का उपयोग रन-टाइम मानों के आधार पर निष्पादित करने के लिए फ़ंक्शन का चयन करने का एक आसान तरीका प्रदान करके कोड को सरल बनाने के लिए किया जा सकता है।

फ़ंक्शन की व्याख्या बड़ी ()

प्रोग्राम बड़े () फ़ंक्शन के संदर्भ में दो पूर्णांक पास करता है जो इसे पास किए गए दो पूर्णांक मानों की तुलना करता है और बड़े मान का मेमोरी पता देता है। बड़ा ( ) का रिटर्न मान पूर्णांक प्रकार का होता है जो गैर-शून्य के साथ-साथ शून्य मान भी हो सकता है।

उदाहरण के लिए

इनपुट - 7 13

आउटपुट − बड़ा मान 13

. है

इनपुट −8 6

आउटपुट − बड़ा मान 8

. है

स्पष्टीकरण - हमारे पास दो पूर्णांक मान थे और तुलना करने के बाद, सूचक दोनों में से सबसे बड़े मान का स्मृति पता लौटाएगा।

दृष्टिकोण जिसका अनुसरण किया जा सकता है

  • पूर्णांक सूचक मान लें, मान लें, int *c.
  • फिर दो पूर्णांक चर प्रारंभ करें।
  • उसके बाद हम दो मानों को इनपुट करेंगे।
  • दिए गए दो मानों की तुलना करें।
  • अंतिम सूचक पर *c बड़े मान का पता लौटाता है।

एल्गोरिदम

Start
STEP 1-> Create the function and pass the argument.
   Int *big(int &, int &)
END
STEP 2-: call the main() function for entering and printing two values and initialize the pointer *c.
   int a, b, *c
   call c= big(a,b)
   print c
END
STEP 3-> compare the two Integer values passed to it and returns the memory address of the bigger value through pointer c.
   Comparing
   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

  1. मैं नए का उपयोग करके C++ में 2d सरणी कैसे घोषित करूं?

    एक गतिशील 2D सरणी मूल रूप से सरणियों के लिए पॉइंटर्स की एक सरणी है। यहाँ एक 2D सरणी का आरेख है जिसका आयाम 3 x 4 है। एल्गोरिदम Begin    Declare dimension of the array.    Dynamic allocate 2D array a[][] using new.    Fill the array with the elements.    Print

  1. एक सी ++ फ़ंक्शन में एक सरणी पास करना

    C++ फ़ंक्शन के तर्क के रूप में संपूर्ण सरणी को पारित करने की अनुमति नहीं देता है। हालांकि, आप किसी इंडेक्स के बिना ऐरे का नाम निर्दिष्ट करके किसी ऐरे को पॉइंटर पास कर सकते हैं। यदि आप किसी फ़ंक्शन में एक एकल-आयाम सरणी को तर्क के रूप में पास करना चाहते हैं, तो आपको निम्नलिखित तीन तरीकों में से एक मे

  1. सी/सी++ में सरणी क्षय क्या है?

    सी/सी++ में ऐरे और पॉइंटर्स काफी समान रूप से कार्य करते हैं। लेकिन कुछ सूक्ष्म अंतर हैं। उदाहरण के लिए, sizeof ऑपरेटर दोनों पर काफी अलग तरह से काम करता है। जब आप किसी सरणी को पॉइंटर में कनवर्ट करते हैं, उदाहरण #include<iostream> int main() {    const int a[] = { 2, 3, 5, 7, 11 }; &n