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

C++ में पहली और दूसरी सरणी से X और Y तत्वों को चुनकर X+Y तत्वों के योग को अधिकतम करें


दिए गए दो सरणियों के लिए प्रत्येक आकार N के लिए, कार्य सरणी 1 से X तत्वों और सरणी 2 से Y तत्वों को चुनकर अधिकतम योग ज्ञात करना है।

आइए अब समझते हैं कि हमें एक उदाहरण का उपयोग करके क्या करना है -

इनपुट

arr1 = {1,2,3,4,5} ; X=2
arr2 = {1,3,5,2,7}; Y=3

आउटपुट

Maximum sum here is : 24

स्पष्टीकरण - हम arr1 से 2 और arr2 से 3 का चयन कर रहे हैं। arr1 का सबसे बड़ा 2 4,5 है और arr2 का सबसे बड़ा 3 3,5,7 है। इन 5 तत्वों का कुल योग 24 है जो आवश्यकता के अनुसार अधिकतम है।

इनपुट

arr1 = {10,13,16,14}; X=1
arr2 = {4,1,2,1}; Y=2

आउटपुट

Maximum sum here is : 22

स्पष्टीकरण - हम arr1 से 1 और arr2 से 2 का चयन कर रहे हैं। arr1 का सबसे बड़ा 16 है और arr2 का सबसे बड़ा 2 4,2 है। इन 5 तत्वों का कुल योग 22 है जो आवश्यकता के अनुसार अधिकतम है।

निम्नलिखित कार्यक्रम में उपयोग किया गया दृष्टिकोण इस प्रकार है

  • इनपुट सरणी arr1[] और arr2[] और X और Y के मान लें..

  • दो सरणियों को आरोही क्रम में क्रमबद्ध करें।

  • arr1 से अंतिम X तत्व और arr2 से Y लें क्योंकि ये उच्चतम होंगे।

  • अंत में हम चरण 3 में चयनित तत्वों का योग लौटाते हैं क्योंकि यह अधिकतम होगा।

  • नोट:सॉर्ट (गिरफ्तारी [], int) को सॉर्ट किए गए सरणी को वापस करने के लिए माना जाता है।

उदाहरण

#include <iostream>
using namespace std;
int max_sum(int arr1[],int arr2[], int length,int X,int Y){
   //for sorting the array
   sort(arr1,length);
   sort(arr2,length);
   int sum=0;
   int i;
   //adding last X elements from arr1 and last Y elements from arr2
   for(i=0;i<X;i++){
      sum+=arr1[length-i-1];
   }
   for(i=0;i<Y;i++){
      sum+=arr2[length-i-1];
   }
   return(sum);
}
// Driver program
int main(){
   int arr1[]={1,1,1,3,7};
   int arr2[]={1,1,2,3,5};
   int x=3,y=2;
   printf( "Maximized sum of X+Y elements by picking X and Y elements from 1st and 2nd array is %d",max_sum(arr1,arr2,5,x,y));
   return 0;
}

आउटपुट

यदि हम उपरोक्त कोड चलाते हैं तो हमें निम्न आउटपुट मिलेगा -

Maximized sum of X+Y elements by picking X and Y elements from 1st and 2nd array is 19

  1. सी ++ में एसटीएल का उपयोग कर ऐरे के तत्वों का योग कैसे प्राप्त करें?

    यहां हम देखेंगे कि किसी सरणी के सभी तत्वों का योग कैसे ज्ञात किया जाए। तो अगर सरणी [12, 45, 74, 32, 66, 96, 21, 32, 27] की तरह है, तो योग होगा:405। तो यहाँ हमें इस समस्या को हल करने के लिए जमा () फ़ंक्शन का उपयोग करना होगा। यह फ़ंक्शन विवरण शीर्षलेख फ़ाइल के अंदर मौजूद है। उदाहरण #include<iostre

  1. C++ में किसी सरणी में सबसे छोटा और दूसरा सबसे छोटा तत्व खोजें

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

  1. सी ++ में सरणी के सभी तत्वों पर एक्सओआर ऑपरेशन लागू करके सरणी योग को कम करना

    विवरण आकार की एक सरणी को देखते हुए, एन। एक तत्व एक्स खोजें जैसे कि सरणी तत्वों का योग न्यूनतम होना चाहिए जब एक्सओआर ऑपरेशन एक्स और सरणी के प्रत्येक तत्व के साथ किया जाता है। If input array is: arr [] = {8, 5, 7, 6, 9} then minimum sum will be 30 Binary representation of array elments are: 8 : 1000