কম্পিউটার টিউটোরিয়াল

C++-এ অপারেটর ওভারলোডিং ব্যবহার করে দুটি ম্যাট্রিক্স যোগ করার প্রোগ্রাম


ধরা যাক দুটি ম্যাট্রিক্স mat1 এবং mat2 দেওয়া আছে। আমাদের এই দুটি ম্যাট্রিক্স যোগ করে তৃতীয় ম্যাট্রিক্স তৈরি করতে হবে। এটি অপারেটর ওভারলোডিং (+) দিয়ে করতে হবে।

উদাহরণস্বরূপ, mat1 = {{5,8},{9,6},{7,9}}, mat2 = {{8,3},{4,7},{6,3}} হলে আউটপুট হবে {{13,11},{13,13},{13,12}}।

সমাধানের ধাপসমূহ

  • Matrix ক্লাস তৈরি করুন যাতে ২D ভেক্টর a থাকে
  • অপারেটর + ওভারলোড করুন যা অন্য একটি Matrix নিবে
  • বর্তমান ম্যাট্রিক্সের কপি vv-তে রাখুন
  • প্রতিটি উপাদানের জন্য vv[i][j] += m.a[i][j] করুন
  • নতুন Matrix(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. সি++-এ দুটি বাইনারি স্ট্রিং যোগ করার প্রোগ্রাম

  2. C++ প্রোগ্রাম: ম্যাট্রিক্সে দুটি সেলের মধ্যকে পথ আছে কিনা চেক করা

  3. C++-এ একটি ম্যাট্রিক্স সিমেট্রিক কিনা তা যাচাই করার প্রোগ্রাম

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