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

C++ में अधिकतम योग के साथ दो सरणियों से युग्म का योग ज्ञात कीजिए

इस समस्या में, हमें दो सरणियाँ दी गई हैं, सकारात्मक और विशिष्ट। हमारा कार्य अधिकतम योग के साथ दो सरणियों से जोड़े का योग ज्ञात करना है

हम प्रत्येक सरणी से एक तत्व के साथ अधिकतम योग के साथ जोड़ी पाएंगे।

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

Input : arr1[] = {3, 7, 5}, arr2[] = {8, 2, 4}
Output : 15

स्पष्टीकरण -

Pairs is (7, 8) = 7 + 8 = 15

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

समस्या को हल करने का एक आसान तरीका लूप का उपयोग करना है। हम एक नेस्टेड लूप का उपयोग करेंगे और सभी जोड़ियों का योग ज्ञात करेंगे और जोड़ी को अधिकतम योग के साथ वापस करेंगे। एक कुशल दृष्टिकोण समस्या को हल करने के लिए प्रत्येक सरणी का अधिकतम तत्व ढूंढ रहा है। और फिर अधिकतम युग्म योग ज्ञात कीजिए। यह नेस्टेड लूप के बजाय एक साधारण लूप का उपयोग करेगा।

उदाहरण

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

#include <iostream>
using namespace std;
int findMaxPairSum(int arr1[], int n1, int arr2[], int n2) {
   int max1 = -1;
   int max2 = -1;
   for (int i = 0; i < n1; i++) {
      if (arr1[i] > max1)
         max1 = arr1[i];
   }
   for (int i = 0; i < n2; i++) {
      if (arr2[i] > max2)
         max2 = arr2[i];
   }
   return (max1 + max2);
}
int main() {
   int arr1[] = { 3, 7, 5 };
   int arr2[] = { 8, 2, 4 };
   int n1 = sizeof(arr1) / sizeof(arr1[0]);
   int n2 = sizeof(arr2) / sizeof(arr2[0]);
   cout<<"Sum of pair from two arrays with maximum sum is "<<findMaxPairSum(arr1, n1, arr2, n2);
   return 0;
}

आउटपुट

Sum of pair from two arrays with maximum sum is 15

एक और तरीका सरणी को सॉर्ट कर रहा है। और फिर दोनों सरणियों के लिए अधिकतम मान तत्व ढूँढना और फिर अधिकतम युग्म योग ज्ञात करना।

उदाहरण

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

#include <bits/stdc++.h>
using namespace std;
int findMaxPairSum(int arr1[], int n1, int arr2[], int n2) {
   sort(arr1, arr1 + n1);
   sort(arr2, arr2 + n2);
   return (arr1[n1 - 1] + arr2[n2 - 1]);
}
int main() {
   int arr1[] = { 3, 7, 5 };
   int arr2[] = { 8, 2, 4 };
   int n1 = sizeof(arr1) / sizeof(arr1[0]);
   int n2 = sizeof(arr2) / sizeof(arr2[0]);
   cout<<"Sum of pair from two arrays with maximum sum is "<<findMaxPairSum(arr1, n1, arr2, n2);
   return 0;
}

आउटपुट

Sum of pair from two arrays with maximum sum is 15

  1. सी ++ का उपयोग कर मैट्रिक्स में अधिकतम योग के साथ कॉलम खोजें।

    मान लीजिए कि हमारे पास एम एक्स एन आकार का एक मैट्रिक्स है। हमें कॉलम ढूंढना है, जिसमें अधिकतम योग है। इस कार्यक्रम में हम कुछ मुश्किल दृष्टिकोण का पालन नहीं करेंगे, हम सरणी कॉलम-वार को पार करेंगे, फिर प्रत्येक कॉलम का योग प्राप्त करेंगे, यदि योग अधिकतम है, तो योग और कॉलम इंडेक्स प्रिंट करें। उदाहरण

  1. तत्वों की एक जोड़ी खोजें जो C++ में समान दो सरणियों का योग बनाता है

    विचार करें कि हमारे पास विभिन्न तत्वों के साथ दो सरणियाँ हैं। हमें तत्वों की एक जोड़ी (x, y) ढूंढनी है, जहां x पहली सरणी में मौजूद है, और y दूसरी सरणी में मौजूद है। जोड़ी को इस तरह चुना जाएगा कि इन दो सरणियों के बीच तत्वों की अदला-बदली के बाद, इन दो सरणियों का योग समान होगा। मान लीजिए कि पहली एरे ए

  1. सी++ में एक सरणी में अधिकतम जीसीडी के साथ जोड़ी खोजें

    मान लीजिए कि हमारे पास सकारात्मक पूर्णांकों की एक सरणी है। हमारा काम सरणी से पूर्णांकों की जोड़ी को खोजना है, जहां GCD मान अधिकतम है। मान लीजिए A ={1, 2, 3, 4, 5}, तो आउटपुट 2 है। जोड़ी (2, 4) में GCD 2 है, अन्य GCD मान 2 से कम हैं। इस समस्या को हल करने के लिए, हम प्रत्येक तत्व के भाजक की गिनती को