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

C++ में एक सरणी में अधिकतम तत्व जो दूसरी सरणी को सॉर्ट कर सकता है


हमें संख्याओं की एक सरणी दी गई है, मान लीजिए Arr1[] और समान या अलग लंबाई की एक और सरणी Arr2[]। Arr1[] के तत्व आरोही क्रम में सॉर्ट किए गए हैं, जैसे कि एक तत्व असॉर्टेड है। हमें दूसरी सरणी Arr2[] से वह तत्व ढूंढना होगा जो Arr1[] के गलत स्थान वाले तत्व को प्रतिस्थापित कर सके और इसे सॉर्ट कर सके। साथ ही, Arr2[] से चुना गया तत्व अधिकतम होना चाहिए यदि कई विकल्प उपलब्ध हों।

इनपुट

Arr1[]= { 1,3,5,7,2,11 }, Arr2[]= { 4,8,7,10,9 }

आउटपुट

Arr1 को सॉर्ट करने वाला अधिकतम तत्व: 10

व्याख्या: Arr2[] में वे संख्याएं जो Arr1[] को सॉर्ट कर सकती हैं: 8,9,10 क्योंकि वे सभी >=7 और <=11 हैं। इनमें से 10 अधिकतम है।

नया Arr1[] बन जाता है { 1,3,5,7,10,11 } और सॉर्टेड है।

इनपुट

Arr1[]= { 12,5,22,17 }, Arr2[]= { 4,8,7,10,9 }

आउटपुट

ऐसा कोई तत्व नहीं।

व्याख्या: Arr2[] में कोई संख्या नहीं है जो >=12 और <=22 हो।

Arr1[] को सॉर्ट नहीं किया जा सकता।

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

  • सरणी arr1[] और arr2[] संख्याओं को संग्रहीत करने के लिए उपयोग की जाती हैं। Arr1[] एक तत्व को छोड़कर आरोही क्रम में सॉर्टेड है।
  • फ़ंक्शन sortMax(int arr1[], int arr2[], int n1, int n2) दोनों सरणियों और उनकी लंबाई को लेता है और arr1[] को अपडेट करता है यदि arr2[] में ऐसा तत्व मिलता है जो अधिकतम है और arr[] के गलत तत्व को भी प्रतिस्थापित कर सकता है और इसे सॉर्ट कर सकता है।
  • arr1[] में गलत स्थान वाले तत्व का इंडेक्स wpos में संग्रहीत करें, प्रारंभ में -1।
  • maxx का उपयोग arr2[] के उन तत्वों में से अधिकतम संग्रहीत करने के लिए किया जाता है जो arr1[] के गलत स्थान वाले तत्व को प्रतिस्थापित कर सकते हैं और इसे सॉर्ट कर सकते हैं।
  • सबसे पहले arr1[] को पार करें और गलत तत्व ढूंढें जैसे। यदि arr[i]
  • अब arr2[] को पार करें और ऐसे तत्व ढूंढें जिन्हें arr1[wpos-1] और arr[wpos+1] के बीच रखा जा सके। साथ ही यदि ऐसा तत्व मौजूद है तो इसकी तुलना maxx से करें।
  • अधिकतम अपडेट करें।
  • अंत में arr1[wpos] को maxx से प्रतिस्थापित करें।
  • यदि ऐसा तत्व मिलता है तो maxx लौटाएं, अन्यथा -1 लौटाएं।
  • यदि कोई तत्व नहीं मिलता है तो एक संदेश प्रदर्शित करें।
  • अन्यथा सॉर्टेड arr1[] प्रिंट करें।

उदाहरण कोड

// सरणी को सॉर्ट करने के लिए C++ प्रोग्राम #include <bits/stdc++.h> using namespace std; int sortMax(int arr1[], int arr2[], int n1, int n2) //arr1 को सॉर्ट करना{ int wpos=-1; int maxx=-1; int i,j; for(i=0;i=arr1[wpos-1] && arr2[j]<=arr1[wpos+1]) if(arr2[j]>=maxx) maxx=arr2[j]; } if(maxx!=-1) arr1[wpos]=maxx; return maxx; } int main(){ int arr1[] = { 1, 3, 7, 4, 10 }; int arr2[] = { 2, 1, 6, 8, 9 }; int len1 = sizeof(arr1) / sizeof(arr1[0]); int len2 = sizeof(arr2) / sizeof(arr2[0]); int res=sortMax(arr1, arr2, len1, len2); if(res==-1) cout<<"कोई स्वैप संभव नहीं! ऐसा कोई तत्व नहीं!"; else{ cout<<"arr2[] में arr1[] को सॉर्ट करने के लिए अधिकतम: "<<res; cout<<endl<<"Arr1[]:"; for(int i=0;i 

आउटपुट

arr2[] में arr1[] को सॉर्ट करने के लिए अधिकतम: 9 Arr1[]:1 3 7 9 10 Arr2[]:2 1 6 8 9

  1. - ऐरे में अभाज्य संख्या K खोजें जैसे कि (A[i] % K) अधिकतम हो C++ में

    मान लीजिए हमारे पास n पूर्णांकों के साथ एक ऐरे A है। हमें एक तत्व K खोजना है जैसे कि K अभाज्य हो, और सभी वैध i के लिए सभी संभावित K मानों में A[i] mod K अधिकतम हो। यदि ऐसी कोई संख्या नहीं मिलती, तो -1 वापस करें। उदाहरण के लिए, यदि A = [2, 10, 15, 7, 6, 8, 13], तो आउटपुट 13 होगा। तीन अभाज्य संख्याएं

  1. - C++ में दी गई संख्या के अंकों का उपयोग करके बनने वाली अधिकतम संख्या ज्ञात करें

    मान लीजिए हमारे पास n अंकों की एक संख्या है। हमें उस संख्या के सभी अंकों का उपयोग करके प्राप्त की जा सकने वाली अधिकतम संख्या ढूंढनी है। इसलिए यदि संख्या 339625 है, तो अधिकतम संख्या 965332 हो सकती है। समस्या से, हम देख सकते हैं कि हम आसानी से अंकों को गैर-बढ़ते क्रम में सॉर्ट कर सकते हैं, फिर उन्हें

  1. - C++ में वे फ़ंक्शन जिन्हें ओवरलोड नहीं किया जा सकता

    फंक्शन ओवरलोडिंग नियम C++ में, हम फ़ंक्शन्स को ओवरलोड कर सकते हैं। लेकिन कभी-कभी ओवरलोडिंग नहीं की जाती। इस सेक्शन में, हम उन विभिन्न मामलों को देखेंगे जिनमें हम फ़ंक्शन्स को ओवरलोड नहीं कर सकते। 1. केवल रिटर्न टाइप अलग होने पर जब फ़ंक्शन सिग्नेचर्स समान हों, केवल रिटर्न टाइप अलग हो, तो हम फ़ंक्शन