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

सी ++ में सरणी में अधिकतम ट्रिपल योग


इस समस्या में, हमें एक array दिया जाता है। हमारा काम एक ऐसा प्रोग्राम बनाना है जो एरे में अधिकतम ट्रिपल योग प्राप्त करे यानी तीन तत्वों का सेट खोजें जिसका योग अधिकतम हो।

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

इनपुट - सरणी ={4, 6, 1, 2}

आउटपुट -12

स्पष्टीकरण -

all triplets are :
(4, 6, 1) = 4+6+1 = 11
(4, 6, 2) = 4+6+1 = 12
(4, 1, 2) = 4+6+1 = 7
(6, 1, 2) = 4+6+1 = 9
The maximum triplet sum is 12
. है

समस्या को हल करने का एक सरल तरीका वह है जिसे हमने उदाहरण में दर्शाया है, जो सभी ट्रिपल जोड़े के लिए योग मान ले रहा है और फिर उनमें से अधिकतम का पता लगा रहा है। लेकिन यह तरीका कारगर नहीं है क्योंकि लंबाई के साथ-साथ तीनों की संख्या बड़ी हो जाएगी।

इस पद्धति में, हम तीन लूप चलाएंगे जो सभी संभावित योग ट्रिपल पाएंगे और यदि इस ट्रिपल का योग मैक्ससम से बड़ा है तो हम इस ट्रिपल योग को मैक्ससम के रूप में प्रारंभ करेंगे।

उदाहरण

हमारे समाधान को स्पष्ट करने के लिए कार्यक्रम,

#include <iostream>
using namespace std;
int maxSum(int arr[], int n){
   int maxSum = 0;
   int i, j, k;
   for (i = 0; i < n; i++)
      for (j = i + 1; j < n; j++)
         for (k = j + 1; k < n; k++)
            if (maxSum < arr[i] + arr[j] + arr[k]) maxSum = arr[i] + arr[j] + arr[k];
   return maxSum;
}
int main(){
   int arr[] = { 3, 5, 7 ,1, 9, 0 };
   int n = sizeof(arr) / sizeof(arr[0]);
   cout<<"The maximum triplet sum of the array is "<<maxSum(arr, n);
   return 0;
}

आउटपुट

The maximum triplet sum of the array is 21

एक प्रभावी तरीका होगा सरणी को सॉर्ट करना और फिर सरणी के अंतिम तीन तत्वों का योग खोजना जो कि ट्रिपल का अधिकतम योग होगा।

उदाहरण

समाधान का वर्णन करने के लिए कार्यक्रम,

#include <bits/stdc++.h>
using namespace std;
int maxSum(int arr[], int n) {
   sort(arr, arr + n);
   return arr[n - 1] + arr[n - 2] + arr[n - 3];
}
int main() {
   int arr[] = { 3, 5, 9, 1, 2, 8, 7 };
   int n = sizeof(arr) / sizeof(arr[0]);
   cout<<"The maximum triplet sum of the array is "<<maxSum(arr, n);
   return 0;
}

आउटपुट

The maximum triplet sum of the array is 24

  1. सी ++ में एक सरणी में अधिकतम संतुलन योग

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

  1. C++ में किसी सरणी का अधिकतम औसत योग विभाजन

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

  1. सी ++ में एक सम ऐरे पहेली?

    यहां हम सरणी से संबंधित एक दिलचस्प समस्या देखेंगे। n तत्वों के साथ एक सरणी है। हमें n तत्वों की एक और सरणी बनानी है। लेकिन दूसरी सरणी की i-वें स्थिति i-वें तत्व को छोड़कर पहले सरणी के सभी तत्वों का योग धारण करेगी। और एक बाधा यह है कि हम इस समस्या में घटाव ऑपरेटर का उपयोग नहीं कर सकते हैं। यदि हम घट