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

C++ में दो सरणियों के योग से बने समुच्चय में Nवां आइटम ढूंढना


इस समस्या में, हमें आकार m की दो सॉर्ट की गई सरणी arr1[] और arr2[] और एक तत्व N दिया जाता है। हमारा कार्य दो सरणियों के योग से बने समुच्चय में Nवां आइटम ढूंढना है।

कोड विवरण – यहां, हम एक समुच्चय बनाएंगे जिसमें arr1 का एक तत्व और arr2 का एक तत्व का योग होता है यानी sum = arr1[i] + arr2[j], जहां i, j < m हैं। N के लिए, हमें समुच्चय के Nवें तत्व का मान ढूंढना है।

आइए एक उदाहरण से समस्या को समझते हैं,

इनपुट

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

आउटपुट

व्याख्या

समुच्चय के तत्व हैं –

9 (3+6 और 1 +8) , 5 (3 + 2) , 11 (3+8, 5+6), 7 (1+6, 5+2), 3 (1+2), 13 (5+8). चौथा तत्व 7 है।

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

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

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

उदाहरण

#include <iostream> using namespace std; void calcSumVariables(int sum[], int n) {    float SUMX = 0;    for (int i = 0; i < n; i++) {       SUMX += sum[i];    }    SUMX /= (n - 1);    for (int i = 0; i < n; i++)       cout<<"\nx"<<(i + 1)<<" = "<<(SUMX - sum[i]); } int main(){    int sum[] = {3, 8, 6, 7, 4, 5, 9 };    int N = sizeof(sum) / sizeof(sum[0]);    cout<<"The value of variables that form the sum are ";    calcSumVariables(sum, N);    return 0; }

आउटपुट

The value of variables that form the sum are x1 = 4 x2 = -1 x3 = 1 x4 = 0 x5 = 3 x6 = 2 x7 = -2

  1. C++ में टू सम IV - इनपुट एक BST है C++ में टू सम IV - इनपुट एक BST है

    मान लीजिए हमारे पास एक बाइनरी सर्च ट्री और एक लक्ष्य मान है; हमें जांचना है कि क्या BST में दो तत्व मौजूद हैं जिनका योग दिए गए लक्ष्य के बराबर है या नहीं। इसलिए, यदि इनपुट जैसा है: तो आउटपुट True होगा। इसे हल करने के लिए, हम निम्नलिखित चरणों का पालन करेंगे: एक सरणी v परिभाषित करें एक फ़ंक्शन inor

  1. C++ में N फैक्टोरियल के योग के अंतिम दो अंक ढूंढना C++ में N फैक्टोरियल के योग के अंतिम दो अंक ढूंढना

    यहां हम देखेंगे कि अंतिम दो अंक कैसे प्राप्त करें। N फैक्टोरियल के योग का इकाई स्थान अंक और दहाई स्थान अंक। यदि N=4 है, तो यह 1! + 2! + 3! + 4! = 33 होगा। इसलिए इकाई स्थान 3 और दहाई स्थान 3 है। परिणाम 33 होगा। 10 के बाद, दहाई स्थान भी 0 रहेगा। N=10 और अधिक के लिए, यह 00 होगा। हम N=1 से 10 तक के फै

  1. - C++ STL में Set find() फ़ंक्शन

    C++ STL में Set find() फ़ंक्शन सेट कंटेनर में खोजे गए एलिमेंट के लिए एक इटरेटर लौटाता है। यदि एलिमेंट नहीं मिलता है तो इटरेटर सेट में अंतिम एलिमेंट के ठीक बाद की स्थिति की ओर इंगित करता है। एल्गोरिथम Begin    Define function printS() to print elements of set container.    initia