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

C++ में एक लापता वाले n योग समीकरणों से n-चर ढूंढना


इस समस्या में, हमें एक सरणी sum[] दी जाती है जिसमें (n-1) चरों का योग दिया जाता है,

Sum[1] = x2 + x3 + x4 + … xn Sum[2] = x1 + x3 + x4 + … xn . . Sum[i] = x2 + x3 + x4 + … x(i-1) + x(i+1) + … + xn . . Sum[n] = x1 + x2 + x3 + … x(n-1) हमारा कार्य x1, x2,... xn का मान ढूंढना है।

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

इनपुट

sum[] = {6, 6, 6, 6, 6, 6, 6}

आउटपुट

x1 = 1, x2 = 1, x3 = 1, x4 = 1, x5 = 1, x6 = 1, x7 = 1

व्याख्या

arr[1] = 1 + 1 + 1 + 1 + 1 + 1 = 6

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

सभी चरों का योग sumX मान लें,

sumX = x1 + x2 + x3 + … + xn

तो, sum सरणी के मान हैं –

sum[1] = x2 + x3 + x4 + … xn = -x1 + x1 + x2 + x3 + x4 + … xn = sumX - x1

इसी तरह,

sum[2] = sumX - x2 sum[3] = sumX - x3 . sum[i] = sumX - xi . sum[n] = sumX - xn

सभी sum सरणियों को जोड़ने पर हमें मिलता है,

Sum[1] + sum[2] + … sum[n] = sumX - x1 + sumX - x2 + … + sumX - xn arrSum = n*sumX - (x1 + x2 + x3 … xn) arrSum = n*SumX - (x1 + x2 + x3 … xn) arrSum = sumX*(n-1) sumX = arrSum/ (n-1)

sumX के इस मान का उपयोग करके, हम x1, x2… के मान ढूंढ सकते हैं।

तो,

x1 = sumX - sum[1] x2 = sumX - sum[2] .. xi = sumX - sum[i] .. xn = sumX - sum[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. संतुलित BST में दिए गए योग वाली जोड़ी खोजें C++ में संतुलित BST में दिए गए योग वाली जोड़ी खोजें C++ में

    मान लीजिए हमारे पास एक संतुलित बाइनरी सर्च ट्री (BST) और एक लक्ष्य योग है, हमें एक ऐसी विधि परिभाषित करनी है जो जांचे कि क्या इसमें कोई ऐसी जोड़ी मौजूद है जिसका योग लक्ष्य योग के बराबर हो। ध्यान रखें कि बाइनरी सर्च ट्री अपरिवर्तनीय (immutable) है। उदाहरण के लिए, यदि इनपुट इस तरह का है: तो आउटपुट हो

  1. - C++ में जांचें कि ऐरे में एक मिसमैच वाली स्ट्रिंग है या नहीं

    मान लीजिए हमारे पास एक स्ट्रिंग s है, और स्ट्रिंग्स का एक और ऐरे A है। हमें यह ढूंढना है कि क्या ऐरे में वर्तमान स्ट्रिंग से अलग लंबाई के एक-कैरेक्टर अंतर वाली स्ट्रिंग है। मान लीजिए स्ट्रिंग banana जैसी है, और ऐरे [bana, orange, banaba, banapy] जैसा दिखता है, परिणाम true होगा, क्योंकि वहां एक स्ट्

  1. - C++ का उपयोग करके मैट्रिक्स में अधिकतम योग वाला कॉलम खोजें

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