इस समस्या में, हमें n पूर्णांकों का एक सरणी arr[] दिया गया है। हमारा काम C++ में किसी सरणी के न्यूनतम और अधिकतम तत्व को खोजने के लिए एक प्रोग्राम बनाना है।
समस्या का विवरण - यहाँ, हमारे पास एक ऐरे arr[] है। इसमें n पूर्णांक मान शामिल हैं। हमें सरणी के सभी मानों में से अधिकतम मान और न्यूनतम मान ज्ञात करना है।
समस्या को समझने के लिए एक उदाहरण लेते हैं,
इनपुट
arr[] = {2, 1, 6, 9, 4, 10, 15, 21}
आउटपुट
max = 21 , min = 1
समाधान दृष्टिकोण
समस्या के कई समाधान हो सकते हैं,
एक समाधान सीधे सरणी के तत्वों की तुलना करेगा। यह जाँच करके किया जाता है कि क्या सरणी के प्रत्येक तत्व और फिर तुलना का उपयोग करके अधिकतम और न्यूनतम का पता लगाएं।
यह दो अलग-अलग तरीकों से किया जा सकता है,
- पुनरावर्ती दृष्टिकोण
- पुनरावर्ती दृष्टिकोण
समस्या को हल करने के लिए पुनरावृत्त दृष्टिकोण,
हम सरणी के लिए लूप करेंगे, सरणी के प्रत्येक तत्व को निकालेंगे, और इसकी तुलना सरणी के अधिकतम और न्यूनतम तत्व से करेंगे।
हमारे समाधान की कार्यप्रणाली को दर्शाने वाला कार्यक्रम,
उदाहरण
#include <iostream> using namespace std; void getMinMax(int arr[] , int N){ int max = arr[0], min = arr[0]; for(int i = 1; i < N; i++){ if(max < arr[i]) max = arr[i]; if(min > arr[i]) min = arr[i]; } cout<<"Maximum Value = "<<max<<"\n"; cout<<"Minimum Value = "<<min; } int main(){ int arr[] = {2, 1, 6, 9, 4, 10, 15, 21}; int N = 8; getMinMax(arr, N); return 0; }
आउटपुट
Maximum Value = 21 Minimum Value = 1
समस्या को हल करने के लिए पुनरावर्ती दृष्टिकोण,
इस दृष्टिकोण में, हम सरणी के सभी तत्वों के लिए बार-बार विधि को बार-बार कॉल करके सरणी के सभी तत्वों के अधिकतम और न्यूनतम को ढूंढकर समस्या का समाधान करेंगे।
हमारे समाधान की कार्यप्रणाली को दर्शाने वाला कार्यक्रम,
उदाहरण
#include <iostream> using namespace std; int CalcMinValue(int arr[], int n) { return (n == 1) ? arr[0] : min(arr[n - 1], CalcMinValue(arr, n - 1)); } int CalcMaxValue(int arr[], int n) { return (n == 1) ? arr[0] : max(arr[n -1], CalcMinValue(arr, n - 1)); } int main() { int arr[] = {2, 1, 6, 9, 4, 10, 15, 21}; int N = 8; cout<<"Maximum Value = "<<CalcMaxValue(arr, N)<<endl; cout<<"Minimum Value = "<<CalcMinValue(arr, N); return 0; }
आउटपुट
Maximum Value = 21 Minimum Value = 1
इस समस्या को C++ प्रोग्रामिंग भाषा की मानक टेम्पलेट लाइब्रेरी में प्रदान किए गए इनबिल्ड फ़ंक्शंस का उपयोग करके भी हल किया जा सकता है।
समाधान खोजने के तरीके min_element() और max_element() हैं और ये विधियां बिट्स/stdc++.h लाइब्रेरी में C++ में पाई जाती हैं।
समस्या के समाधान को दर्शाने वाला कार्यक्रम,
उदाहरण
#include <bits/stdc++.h> using namespace std; int main() { int arr[] = {2, 1, 6, 9, 4, 10, 15, 21}; int N = 8; cout<<"Maximum Value = "<<(*max_element(arr, arr+N))<<endl; cout<<"Minimum Value = "<<(*min_element(arr, arr+N)); return 0; }
आउटपुट
Maximum Value = 21 Minimum Value = 1