इस समस्या में, हमें दो क्रमबद्ध सरणियाँ arr1[] और arr2[] आकार m और एक तत्व N दिए गए हैं। हमारा कार्य दो सरणियों के योग द्वारा गठित सेट में Nth आइटम खोजना है।
कोड विवरण - यहां, हम एक सेट बनाएंगे जिसमें arr1 में से एक तत्व और arr2 में से एक का योग होगा, यानी sum =arr1[i] + arr2[j], जहां i , j
समस्या को समझने के लिए एक उदाहरण लेते हैं,
इनपुट
arr1[] = {3, 1, 5} , arr2[] = {6, 2, 8} , N = 4
आउटपुट
स्पष्टीकरण
सेट के अवयव हैं -
9 (3+6 and 1 +8) , 5 (3 + 2) , 11 (3+8, 5+6), 7 (1+6, 5+2), 3 (1+2), 13 (5+8). The fourth element is 7.
समाधान दृष्टिकोण
समाधान दृष्टिकोण केवल सरणी के तत्वों का योग ढूंढकर सेट के तत्वों को ढूंढ रहा है। इसके लिए, हम arr1 के तत्वों को पुनरावृत्त करने के लिए नेस्टेड लूप, बाहरी लूप का उपयोग करेंगे और arr2 के तत्वों को पुनरावृत्त करने के लिए आंतरिक लूप का उपयोग करेंगे। और आंतरिक लूप के प्रत्येक पुनरावृत्ति के लिए, हम योग को सेट में संग्रहीत करेंगे, जो डुप्लिकेट तत्वों की अनुमति नहीं देगा। सभी योग मानों को फीड करने के बाद, हम सेट को पार करेंगे और Nth एलिमेंट वापस करेंगे।
हमारे समाधान की कार्यप्रणाली को दर्शाने वाला कार्यक्रम,
उदाहरण
#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