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

C++ प्रोग्राम में दो ऐरे के उत्पादों का अधिकतम योग


इस समस्या में, हमें n आकार की दो सरणियाँ arr1[] और arr2[] दी गई हैं। हमारा कार्य दो ऐरे के उत्पादों का अधिकतम योग खोजने के लिए एक प्रोग्राम बनाना है।

समस्या का विवरण - हमें दो सरणियों के उत्पादों का अधिकतम योग ज्ञात करना होगा। हमें arr1 से एक तत्व के उत्पाद का अधिकतम योग और arr2 से अन्य तत्वों को खोजने की आवश्यकता है।

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

इनपुट

arr1[] = {3, 5, 6} arr2[] = {1, 4, 2}

आउटपुट

37

स्पष्टीकरण

Maximum sum of products: 6*4 + 5*2 + 3*1 = 24 + 10 + 3 = 37

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

समस्या का एक सरल समाधान arr1 और arr2 से तत्वों के सभी युग्मों को खोजना है। और फिर अधिकतम राशि लौटाएं।

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

उदाहरण

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

#include<bits/stdc++.h>
using namespace std;
int calcMaxSumOfProd(int arr1[], int arr2[], int n){
   int maxSum = 0;
   sort(arr1, arr1 + n, greater<int>());
   sort(arr2, arr2 + n, greater<int>());
   for (int i = 0; i < n; i++)
   maxSum += (arr1[i] * arr2[i]);
   return maxSum;
}
int main() {
   int arr1[] = { 3, 5, 6 };
   int arr2[] = { 1, 4, 2 };
   int n = sizeof(arr1)/sizeof(arr1[0]);
   cout<<"The maximum Sum of Products of two arrays is "<<calcMaxSumOfProd(arr1, arr2, n);
   return 0;
}

आउटपुट

The maximum Sum of Products of two arrays is 37

  1. सर्कुलर सरणी में अधिकतम योग जैसे कि कोई भी दो तत्व सी ++ में आसन्न नहीं हैं

    इस समस्या में, हमें एक वृत्ताकार सरणी cirArr[] दी गई है। हमारा काम सर्कुलर सरणी में अधिकतम योग खोजने के लिए एक प्रोग्राम बनाना है जैसे कि कोई भी दो तत्व सी ++ में आसन्न नहीं हैं। समस्या का विवरण वृत्ताकार सरणी के लिए, हमें सरणी के तत्वों का अधिकतम योग ज्ञात करना होगा जैसे कि आसन्न तत्वों को नहीं लि

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

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

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

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