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

सी ++ प्रोग्राम दो मैट्रिसेस जोड़ने के लिए अतिरिक्त ऑपरेटर को अधिभारित करने के लिए

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

तो, अगर इनपुट पसंद है

5 8
9 6
7 9


8 3
4 7
6 3

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

13 11
13 13
13 12

इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -

  • अतिरिक्त ऑपरेटर को अधिभारित करें, यह दूसरे तर्क के रूप में एक और मैट्रिक्स मैट लेगा

  • एक खाली 2d सरणी vv परिभाषित करें

  • एक 2D सरणी vv को परिभाषित करें और उसमें वर्तमान मैट्रिक्स तत्वों को लोड करें

  • प्रारंभ करने के लिए मैं:=0, जब मैं <वीवी का आकार, अद्यतन (मैं 1 से बढ़ाएँ), यह करें:

    • प्रारंभ करने के लिए j :=0, जब j

      • 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++ में दो बाइनरी स्ट्रिंग्स जोड़ने का प्रोग्राम

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

  1. सी++ में मैट्रिक्स सममित है या नहीं यह जांचने के लिए प्रोग्राम

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

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

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