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

C++ में जोड़ ऑपरेटर को ओवरलोड करके दो मैट्रिक्स जोड़ने का प्रोग्राम


मान लीजिए हमारे पास दो मैट्रिक्स mat1 और mat2 हैं। हमें इन दो मैट्रिक्स को जोड़कर तीसरा मैट्रिक्स बनाना है। हमें यह जोड़ ऑपरेटर को ओवरलोड करके करना होगा।

उदाहरण के लिए, यदि इनपुट है:

58
96
79

और

83
47
63

तो आउटपुट होगा:

1311
1313
1312

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

इस समस्या को हल करने के लिए हम निम्नलिखित चरणों का पालन करेंगे:

  • जोड़ ऑपरेटर को ओवरलोड करें, यह दूसरे मैट्रिक्स mat को दूसरे तर्क के रूप में लेगा
  • एक खाली 2D सरणी vv परिभाषित करें
  • वर्तमान मैट्रिक्स के तत्वों को vv में लोड करें
  • i := 0 से vv के आकार तक:
    • j := 0 से vv[0] के आकार तक:
      • vv[i][j] := vv[i][j] + mat.a[i][j]
  • vv का उपयोग करके एक नया मैट्रिक्स लौटाएं

उदाहरण

बेहतर समझ के लिए निम्नलिखित कार्यान्वयन देखें:

#include <iostream> #include <vector> using namespace std; class Matrix {   public:     Matrix() {}     Matrix(const Matrix& x) : a(x.a) {}     Matrix(const vector<vector<int>>& v) : a(v) {}     Matrix operator+(const Matrix&);     vector<vector<int>> a;     void display(){         for(int i = 0; i<a.size(); i++){             for(int j = 0; j<a[i].size(); j++){                 cout << a[i][j] << " ";             }             cout << endl;         }     } }; Matrix Matrix::operator+(const Matrix& m){     vector<vector<int>> vv = a;     for (int i=0; i<vv.size(); i++){         for (int j=0; j<vv[0].size(); j++){             vv[i][j] += m.a[i][j];         }     }     return Matrix(vv); } int main(){    vector<vector<int>> mat1 = {{5,8},{9,6},{7,9}};    vector<vector<int>> mat2 = {{8,3},{4,7},{6,3}};    int r = mat1.size();    int c = mat1[0].size();    Matrix m1(mat1), m2(mat2), res;    res = m1 + m2;    res.display(); } 

इनपुट

{{5,8},{9,6},{7,9}}, {{8,3},{4,7},{6,3}}

आउटपुट

13 11 13 13 13 12
  1. C++ में दो बाइनरी स्ट्रिंग्स को जोड़ें C++ में दो बाइनरी स्ट्रिंग्स को जोड़ें

    दो बाइनरी संख्या वाली स्ट्रिंग्स दी गई हैं, हमें उन दो बाइनरी स्ट्रिंग्स को जोड़कर प्राप्त परिणाम ढूंढना है और परिणाम को बाइनरी स्ट्रिंग के रूप में लौटाना है। बाइनरी संख्याएं वे संख्याएं हैं जिन्हें या तो 0 या 1 के रूप में व्यक्त किया जाता है। 2 बाइनरी संख्याओं को जोड़ते समय बाइनरी जोड़ का नियम हो

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

    रैखिक बीजगणित में मैट्रिक्स M[][] को सिमेट्रिक मैट्रिक्स कहा जाता है यदि और केवल यदि मैट्रिक्स का ट्रांसपोज मैट्रिक्स के बराबर हो। मैट्रिक्स का ट्रांसपोज तब होता है जब हम मैट्रिक्स को उसके विकर्ण पर फ्लिप करते हैं, जिसके परिणामस्वरूप उसकी पंक्ति और कॉलम इंडेक्स स्विच हो जाते हैं।नीचे सिमेट्रिक मैट्र

  1. C++ में इडेम्पोटेंट मैट्रिक्स जांचें C++ में इडेम्पोटेंट मैट्रिक्स जांचें

    एक मैट्रिक्स M[r][c] दिया गया है, r पंक्तियों की संख्या दर्शाता है और c कॉलम की संख्या दर्शाता है जैसे कि r = c एक स्क्वायर मैट्रिक्स बनाता है। हमें जांचना है कि दिया गया स्क्वायर मैट्रिक्स इडेम्पोटेंट मैट्रिक्स है या नहीं।इडेम्पोटेंट मैट्रिक्सएक मैट्रिक्स M को इडेम्पोटेंट मैट्रिक्स कहा जाता है यदि