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

C++ में दो ऐरे से अधिकतम योग वाले जोड़े का योग ज्ञात करें


इस समस्या में, हमें दो ऐरे दिए गए हैं, पॉजिटिव और डिस्टिंक्ट। हमारा कार्य दो ऐरे से अधिकतम योग वाले जोड़े का योग ज्ञात करना है।

हम प्रत्येक ऐरे से एक-एक एलिमेंट लेकर अधिकतम योग वाले जोड़े को ढूंढेंगे।

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

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

व्याख्या −

Pair 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. - C++ का उपयोग करके मैट्रिक्स में अधिकतम योग वाला कॉलम खोजें

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

  1. - C++ में दो सरणियों के योग को बराबर करने वाली जोड़ी ढूंढें

    समस्या विवरण दो सरणियां दी गई हैं जिनमें अलग-अलग संख्या में तत्व हैं। हमें एक जोड़ी (x, y) ढूंढनी है जहां x पहली सरणी में है और y दूसरी सरणी में है। इस जोड़ी को स्वैप करने के बाद दोनों सरणियों का योग बराबर होना चाहिए। उदाहरण: सरणी A = [4, 1, 2, 2, 1, 1] (योग = 11) और सरणी B = [3, 3, 6, 3] (योग = 1

  1. - C++ में सरणी में अधिकतम GCD वाली जोड़ी ढूंढना

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