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

C++ में सरणी में मौजूद अधिकतम लगातार संख्याएं


हमें धनात्मक पूर्णांकों की एक सरणी दी गई है। लक्ष्य इसमें मौजूद अधिकतम लगातार संख्याओं की संख्या ढूंढना है। सबसे पहले हम सरणी को सॉर्ट करेंगे और फिर आसन्न तत्वों की तुलना करेंगे arr[j]==arr[i]+1 (j=i+1), यदि अंतर 1 है तो count बढ़ाएं और इंडेक्स i++,j++ अन्यथा count=1 बदलें। अब तक मिली अधिकतम गणना को maxc में संग्रहीत करें।

इनपुट

Arr[]= { 100,21,24,73,22,23 }

आउटपुट

सरणी में अधिकतम लगातार संख्याएं: 4

व्याख्या: सॉर्ट की गई सरणी है - { 21,22,23,24,73,100 } count=1,maxcount=1 आरंभ करें

1. 22=21+1 count=2 maxcount=2 i++,j++ 2. 23=22+2 count=3 maxcount=3 i++,j++ 3. 24=23+1 count=4 maxcount=4 i++,j++ 4. 73=24+1 X count=1 maxcount=4 i++,j++ 5. 100=73+1 X count=1 maxcount=4 i++,j++

अधिकतम लगातार संख्याएं 4 हैं { 21,22,23,24 }

इनपुट

Arr[]= { 11,41,21,42,61,43,9,44 }

आउटपुट

सरणी में अधिकतम लगातार संख्याएं: 4

व्याख्या: सॉर्ट की गई सरणी है - { 9,11,21,41,42,43,44,61 } count=1,maxcount=1 आरंभ करें

1. 11=9+1 X count=1 maxcount=1 i++,j++ 2. 21=11+1 X count=1 maxcount=1 i++,j++ 3. 41=21+1 X count=1 maxcount=1 i++,j++ 4. 42=41+1 count=2 maxcount=2 i++,j++ 5. 43=42+1 count=3 maxcount=3 i++,j++ 6. 44=43+1 count=4 maxcount=4 i++,j++ 7. 61=44+1 X count=1 maxcount=4 i++,j++

अधिकतम लगातार संख्याएं 4 हैं { 41,42,43,44 }

प्रयुक्त दृष्टिकोण

  • पूर्णांक सरणी Arr[] पूर्णांकों को संग्रहीत करती है।
  • पूर्णांक 'n' सरणी की लंबाई संग्रहीत करता है।
  • फ़ंक्शन subs(int arr[], int n) एक सरणी, इसके आकार को इनपुट के रूप में लेता है और सरणी में मौजूद अधिकतम लगातार संख्याएं लौटाता है।
  • सबसे पहले हम sort(arr,arr+n) का उपयोग करके सरणी को सॉर्ट करेंगे।
  • अब count=1 और maxc=1 आरंभ करें।
  • पहले दो तत्वों, arr[0] और arr[1] से दो for लूप के अंदर शुरू करके, तुलना करें यदि arr[j]==arr[i]+1 (j=i+1), यदि सच है तो count बढ़ाएं और i को 1 से बढ़ाएं।
  • यदि उपरोक्त शर्त गलत है तो फिर count को 1 पर बदलें। अब तक मिली उच्चतम गणना से maxc अपडेट करें (maxc=count>maxc?count:maxc)।
  • अंत में परिणाम के रूप में अधिकतम लगातार तत्वों की संख्या के रूप में maxc लौटाएं।

उदाहरण कोड

#include <iostream> #include <algorithm> using namespace std; int subs(int arr[],int n){ std::sort(arr,arr+n); int count=1; int maxc=1; for(int i=0;imaxc?count:maxc; } } return maxc; } int main(){ int arr[] = { 10,9,8,7,3,2,1,4,5,6 }; int n = sizeof(arr) / sizeof(int); cout << "सरणी में अधिकतम लगातार संख्याएं: "<<subs(arr, n); return 0; }

आउटपुट

सरणी में अधिकतम लगातार संख्याएं: 10

  1. C++ में सरणी में कुंजी K की उपस्थिति की संभावना C++ में सरणी में कुंजी K की उपस्थिति की संभावना

    n आकार की एक सरणी दी गई है और कार्य दिए गए तत्व k की संभावना ढूंढना है यदि यह सरणी में उपलब्ध है। पूरी सरणी को n तक पार करें जो सरणी में तत्वों की संख्या के बराबर है और दिए गए तत्व या कुंजी k को खोजें। यदि तत्व सरणी में मौजूद है तो उसकी संभावना की गणना करें अन्यथा 0 प्रिंट करें। इनपुट arr[] = { 1

  1. - C++ में ऐरे में अधिकतम संतुलन योग

    समस्या कथन एक ऐरे arr[] दिया गया है। इंडेक्स i के लिए arr[] में अधिकतम प्रीफिक्स योग का मान ढूंढें जो सफिक्स योग भी हो। उदाहरण यदि इनपुट ऐरे है - Arr[] = {1, 2, 3, 5, 3, 2, 1} तो आउटपुट 11 है - प्रीफिक्स योग = arr[0..3] = 1 + 2 + 3 + 5 = 11 और सफिक्स योग = arr[3..6] = 5 + 3 + 2 + 1 = 11 एल्गोरिदम

  1. - C++ में ऐरे का अधिकतम औसत योग पार्टीशन

    समस्या कथन एक ऐरे दिया गया है, हम संख्याओं की एक पंक्ति A को अधिकतम K आसन्न (गैर-खाली) समूहों में पार्टीशन करते हैं, फिर स्कोर प्रत्येक समूह के औसत का योग होता है। अधिकतम स्कोर क्या हो सकता है? उदाहरण यदि इनपुट ऐरे है {9, 2, 5, 3, 10} तो हम ऐरे को निम्नानुसार पार्टीशन कर सकते हैं: {9} {2, 5, 3} और