Showing posts with label multiplication of two matrices. Show all posts
Showing posts with label multiplication of two matrices. Show all posts

Monday, May 9, 2022

program to multiply two matrices

 #include <iostream>

using namespace std;
class multi
{

    int a[10][10], b[10][10], mult[10][10], r1, c1, r2, c2, i, j, k;
   

public:
    multi(int r1, int c1, int r2, int c2)
    {
        this->r1 = r1;
        this->c1 = c1;
        this->r2 = r2;
        this->c2 = c2;
        int a[r1][c1], b[r2][c2];
    }
    void matrix()
    {

        // Storing elements of first matrix.
        cout << endl
             << "Enter elements of matrix 1:" << endl;
        for (i = 0; i < r1; ++i)
            for (j = 0; j < c1; ++j)
            {
                cout << "Enter element a" << i + 1 << j + 1 << " : ";
                cin >> a[i][j];
            }

        // Storing elements of second matrix.
        cout << endl
             << "Enter elements of matrix 2:" << endl;
        for (i = 0; i < r2; ++i)
            for (j = 0; j < c2; ++j)
            {
                cout << "Enter element b" << i + 1 << j + 1 << " : ";
                cin >> b[i][j];
            }
    }
    void multip()
    {

        // Initializing elements of matrix mult to 0.
        for (i = 0; i < r1; ++i)
            for (j = 0; j < c2; ++j)
            {
                mult[i][j] = 0;
            }

        // Multiplying matrix a and b and storing in array mult.
        for (i = 0; i < r1; ++i)
            for (j = 0; j < c2; ++j)
                for (k = 0; k < c1; ++k)
                {
                    mult[i][j] += a[i][k] * b[k][j];
                }

        // Displaying the multiplication of two matrix.
        cout << endl
             << "Output Matrix: " << endl;
        for (i = 0; i < r1; ++i)
        {
            for (j = 0; j < c2; ++j)
            {
                cout << " " << mult[i][j];
            }
            cout << endl;
        }
    }
};

int main()
{
    int r1, c1, r2, c2;

    cout << "Enter rows and columns for first matrix: ";
    cin >> r1 >> c1;
    cout << "Enter rows and columns for second matrix: ";
    cin >> r2 >> c2;

    // If column of first matrix in not equal to row of second matrix,
    // ask the user to enter the size of matrix again.
    while (c1 != r2)
    {
        cout << "Error! column of first matrix not equal to row of second.";

        cout << "Enter rows and columns for first matrix: ";
        cin >> r1 >> c1;

        cout << "Enter rows and columns for second matrix: ";
        cin >> r2 >> c2;
    }
    multi obj(r1, c1, r2, c2);
    obj.matrix();
    obj.multip();

    return 0;
}

Software scope

 In software engineering, the software scope refers to the boundaries and limitations of a software project. It defines what the software wi...

Popular Posts