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

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


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

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

विभिन्न इनपुट-आउटपुट परिदृश्य

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

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

व्याख्या - सभी तत्वों में से 99 अधिकतम है।

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

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

व्याख्या - सभी तत्वों में से -99 न्यूनतम है।

उपयोग किया गया दृष्टिकोण

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

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

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

  • पूर्णांक वेरिएबल minimum लें

  • यदि वर्तमान इंडेक्स len 1 है तो minimum=arr[0] सेट करें और minimum लौटाएं।

  • अन्यथा minimum = arr[len] या recforMin(arr,len-1) का न्यूनतम सेट करें और इसे लौटाएं।

  • अंत में न्यूनतम तत्व लौटाया जाएगा।

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

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

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

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

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

  • पूर्णांक वेरिएबल maximum लें।

  • यदि वर्तमान इंडेक्स len 1 है तो maximum=arr[0] सेट करें और maximum लौटाएं।

  • अन्यथा maximum = arr[len] या recforMax(arr,len-1) का अधिकतम सेट करें और इसे लौटाएं।

  • अंत में अधिकतम तत्व लौटाया जाएगा।

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

पुनरावर्तन का उपयोग करके न्यूनतम खोजना

उदाहरण

#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. - C++ में सरणी में अधिकतम GCD वाली जोड़ी ढूंढना

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

  1. - C++ में दिए गए सरणी के एलिमेंट्स के फैक्टोरियल का GCD खोजें

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