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

C++ में सरणी के न्यूनतम और अधिकतम तत्वों को खोजने के लिए पुनरावर्ती कार्यक्रम

हमें इनपुट के रूप में एक पूर्णांक सरणी Arr[] दी गई है। लक्ष्य पुनरावर्ती विधियों का उपयोग करके सरणी के बीच अधिकतम और न्यूनतम तत्वों को खोजना है।

चूंकि हम रिकर्सन का उपयोग कर रहे हैं, हम पूरे सरणी को तब तक पार करेंगे जब तक हम लंबाई =1 तक नहीं पहुंच जाते हैं, फिर ए [0] लौटाते हैं जो बेस केस बनाता है। अन्यथा वर्तमान तत्व की वर्तमान न्यूनतम या अधिकतम के साथ तुलना करें और बाद के तत्वों के लिए रिकर्सन द्वारा इसके मूल्य को अपडेट करें।

आइए इसके लिए विभिन्न इनपुट आउटपुट परिदृश्य देखें -

इनपुट - एआर ={12,67,99,76,32};

आउटपुट - सरणी में अधिकतम :99

स्पष्टीकरण − सभी तत्वों में से 99 उनमें से अधिकतम है।

इनपुट - एआर ={1,0,-99,9,3};

आउटपुट - सरणी में न्यूनतम :-99

स्पष्टीकरण − सभी तत्वों में से -99 उनमें से न्यूनतम है।

नीचे दिए गए प्रोग्राम में इस्तेमाल किया गया तरीका इस प्रकार है

न्यूनतम खोजने के लिए

  • सरणी Arr[] इनपुट के रूप में लें।

  • फ़ंक्शन recforMin(int arr[], int len) इनपुट ऐरे और उसकी लंबाई लेता है और रिकर्सन का उपयोग करके ऐरे में न्यूनतम रिटर्न देता है।

  • पूर्णांक चर न्यूनतम लें

  • यदि वर्तमान सूचकांक लेन 1 है तो न्यूनतम =एआर [0] सेट करें और न्यूनतम लौटें।

  • अन्यथा न्यूनतम =न्यूनतम गिरफ्तारी [लेन] या recforMin(arr,len-1) सेट करें और इसे वापस करें।

  • अंत में न्यूनतम तत्व वापस कर दिया जाएगा।

  • मुख्य के अंदर प्राप्त प्रिंट परिणाम।

न्यूनतम खोजने के लिए

  • अधिकतम खोजने के लिए

  • सरणी Arr[] इनपुट के रूप में लें।

  • फंक्शन recforMax(int ​​arr[], int len) इनपुट ऐरे और उसकी लंबाई लेता है और रिकर्सन का उपयोग करके ऐरे में अधिकतम रिटर्न देता है।

  • पूर्णांक चर अधिकतम लें।

  • यदि वर्तमान सूचकांक लेन 1 है तो अधिकतम =गिरफ्तारी [0] सेट करें और अधिकतम लौटाएं।

  • अन्यथा न्यूनतम =अधिकतम गिरफ्तारी [लेन] या recforMax (arr, len-1) सेट करें और इसे वापस करें।

  • अंत में अधिकतम तत्व वापस कर दिया जाएगा।

  • मुख्य के अंदर प्राप्त प्रिंट परिणाम।

पुनरावृत्ति का उपयोग करके न्यूनतम ढूँढना

उदाहरण

#include <iostream>
using namespace std;
int recforMin(int arr[], int len){
   int minimum;
   if (len == 1){
      minimum=arr[0];
      return minimum;
   }
   else{
      return minimum=arr[len]<recforMin(arr,len-1)?arr[len]:recforMin(arr,len-1);
   }
}
int main(){
   int Arr[] = {-89,98,76,32,21,35,100};
   int length = sizeof(Arr)/sizeof(Arr[0]);
   cout <<"Minimum in the array :"<<recforMin(Arr, length);
   return 0;
}

आउटपुट

यदि हम उपरोक्त कोड चलाते हैं तो यह निम्न आउटपुट उत्पन्न करेगा

Minimum in the array :-89

पुनरावृत्ति का उपयोग करके न्यूनतम ढूँढना

उदाहरण

#include <iostream>
using namespace std;
int recforMax(int arr[], int len){
   int maximum;

   if (len == 1){
      maximum=arr[0];
      return maximum;
   }
   else{
      return maximum=arr[len]>recforMax(arr,len-1)?arr[len]:recforMax(arr,len-1);
   }
}
int main(){
   int Arr[] = {-89,98,76,32,21,35,100};
   int length = sizeof(Arr)/sizeof(Arr[0]);
   cout <<"Maximum in the array :"<<recforMax(Arr, length);
   return 0;
}

आउटपुट

यदि हम उपरोक्त कोड चलाते हैं तो यह निम्न आउटपुट उत्पन्न करेगा

Maximum in the array :-100

  1. C++ में सिंगल सर्कुलर लिंक्ड लिस्ट में न्यूनतम और अधिकतम तत्व खोजें

    यहां हम देखेंगे कि एक सिंगल सर्कुलर लिंक्ड लीनियर लिस्ट से न्यूनतम और अधिकतम मूल्य कैसे प्राप्त करें। मूल अवधारणा बहुत सरल है। अंतिम नोड का अगला भाग पहले नोड को इंगित किया जाएगा, पहला नोड भी प्रारंभ सूचक का उपयोग करके इंगित किया जाएगा। जब हम सूची में कुछ तत्व सम्मिलित करते हैं, तो नए सम्मिलित नोड के

  1. सी++ में एक सरणी में अधिकतम जीसीडी के साथ जोड़ी खोजें

    मान लीजिए कि हमारे पास सकारात्मक पूर्णांकों की एक सरणी है। हमारा काम सरणी से पूर्णांकों की जोड़ी को खोजना है, जहां GCD मान अधिकतम है। मान लीजिए A ={1, 2, 3, 4, 5}, तो आउटपुट 2 है। जोड़ी (2, 4) में GCD 2 है, अन्य GCD मान 2 से कम हैं। इस समस्या को हल करने के लिए, हम प्रत्येक तत्व के भाजक की गिनती को

  1. C++ में दिए गए सरणी के तत्वों के भाज्य का GCD ज्ञात कीजिए

    मान लीजिए कि हमारे पास एन तत्वों के साथ एक सरणी ए है। हमें सरणी के सभी तत्वों के भाज्य का GCD ज्ञात करना है। मान लीजिए कि तत्व {3, 4, 8, 6} हैं, तो भाज्य का GCD 6 है। यहाँ हम ट्रिक देखेंगे। चूँकि दो संख्याओं का GCD वह सबसे बड़ी संख्या है, जो दोनों संख्याओं को विभाजित करती है, तो दो संख्याओं के भाज्य