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

सी ++ में मूल क्रम में सरणी के अधिकतम तत्व खोजें

इस समस्या में, हमें n तत्वों का एक सरणी arr[] दिया जाता है। हमारा काम है ऐरे के अधिकतम तत्वों को मूल क्रम में खोजना।

हमें सरणी के अधिकतम k तत्वों को खोजने और फिर प्रिंट करने की आवश्यकता है क्योंकि उन्हें मूल रूप से अनुक्रमित किया गया था।

समस्या को समझने के लिए एक उदाहरण लेते हैं,

इनपुट: एआर [] ={5, 1, 3, 6, 2}, के =2

आउटपुट: 5, 6

स्पष्टीकरण:

सरणी के सबसे बड़े दो तत्व 6 और 5 हैं। लेकिन मूल सरणी में 6 से पहले 5 आता है इसलिए हमने उस तरह से मुद्रित किया है।

समाधान दृष्टिकोण

समस्या को हल करने के लिए, और k तत्वों को मूल क्रम में प्रिंट करें।

इसके लिए हम एक decArray बनाएंगे जो arr[] के तत्वों को अवरोही क्रम में संग्रहीत करेगा। फिर हम मूल सरणी को पार करेंगे और decArray[] का उपयोग करके k सबसे बड़े तत्व को प्रिंट करेंगे।

हमारे समाधान की कार्यप्रणाली को दर्शाने वाला कार्यक्रम,

उदाहरण

#include <bits/stdc++.h>
using namespace std;

bool seachVal(int decArr[], int k, int ele){

   for(int i = 0; i < k; i++){
      if( decArr[i] == ele)
         return true;
   }
   return false;
}

void printKMaxEle(int arr[], int k, int n) {
   
   int decArr[n];
   for(int i = 0; i < n ; i++){
      decArr[i] = arr[i];
   }
   sort(decArr, decArr + n, greater<int>());

   for (int i = 0; i < n; ++i)
      if ( seachVal(decArr, k, arr[i]) )
         cout<<arr[i]<<" ";
}

int main() {
   
   int arr[] = { 15, 1, 3, 6, 2, 34, 8, 9 };
   int n = sizeof(arr) / sizeof(arr[0]);
   int k = 3;
   cout<<k<<" maximum elements of the array in their original order are \n";
   printKMaxEle(arr, k, n);
   return 0;
}

आउटपुट

3 maximum elements of the array in their original order are
15 34 9

  1. सी ++ में लगातार तत्वों के एक्सओआर का उपयोग करके सरणी के तत्व खोजें

    विचार करें कि हमें n तत्वों की एक सूची ढूंढनी है। लेकिन हमारे पास वास्तविक सरणी के लगातार दो तत्वों का XOR मान है। साथ ही वास्तविक का पहला तत्व दिया गया है। इसलिए यदि सरणी तत्व a, b, c, d, e, f हैं, तो दिया गया सरणी a^b, b^c, c^d, d^e और e^f होगा। जैसा कि पहला नंबर दिया गया है, जिसका नाम a है, जो ह

  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 वह सबसे बड़ी संख्या है, जो दोनों संख्याओं को विभाजित करती है, तो दो संख्याओं के भाज्य