কম্পিউটার

দুটি ম্যাট্রিক্স যোগ করার জন্য অতিরিক্ত অপারেটর ওভারলোড করার জন্য 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 সংজ্ঞায়িত করুন এবং এতে বর্তমান ম্যাট্রিক্স উপাদানগুলি লোড করুন

  • আরম্ভ করার জন্য i :=0, যখন i

    • 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++ এ দুটি বাইনারি স্ট্রিং যোগ করার জন্য প্রোগ্রাম

  2. ম্যাট্রিক্সে দুটি কোষের মধ্যে একটি পথ আছে কিনা তা খুঁজে বের করতে C++ প্রোগ্রাম

  3. একটি ম্যাট্রিক্স সি++ এ প্রতিসম কিনা তা পরীক্ষা করার জন্য প্রোগ্রাম

  4. C++-এ idempotent ম্যাট্রিক্স চেক করার প্রোগ্রাম