Answer to Question #159672 in C++ for zain ul abdeen

Question #159672

Write a C++ program that computes the product of two square matrices using a two-dimensional array in C++.

 

SAMPLE OUTPUT:

Enter matrix 1

1

2

3

 

4

5

6

 

7

8

9

 

 

Enter matrix 2

9

8

7

6

5

4

3

2

1

 

Product of matrix 1 and matrix 2 is

30

24

18

84

69

54

138

114

90



1
Expert's answer
2021-02-02T19:46:50-0500
#include <iostream>

const int MATRIX_ROWS_COUNT    = 3;
const int MATRIX_COLUMNS_COUNT = 3;

bool InputMatrix(int matrix[MATRIX_ROWS_COUNT][MATRIX_COLUMNS_COUNT])
{
    for(int i=0; i<MATRIX_ROWS_COUNT; ++i)
    {
        for(int j=0; j<MATRIX_COLUMNS_COUNT; ++j)
        {
            std::cin >> matrix[i][j];

            if(!std::cin)
            {
                std::cout << "Bad input\n";
                return false;
            }
        }        
    }

    return true;
}

void PrintMatrix(int matrix[MATRIX_ROWS_COUNT][MATRIX_COLUMNS_COUNT])
{
    for(int i=0; i<MATRIX_ROWS_COUNT; ++i)
    {
        for(int j=0; j<MATRIX_COLUMNS_COUNT; ++j)
        {
            std::cout << matrix[i][j] << "\t";
        }

        std::cout << "\n";
    }
}

void MatricesProduct(int matrix1[MATRIX_ROWS_COUNT][MATRIX_COLUMNS_COUNT]
                    ,int matrix2[MATRIX_ROWS_COUNT][MATRIX_COLUMNS_COUNT]
                    ,int matrix3[MATRIX_ROWS_COUNT][MATRIX_COLUMNS_COUNT])
{
    for(int i=0; i<MATRIX_ROWS_COUNT; ++i)
    {
        for(int j=0; j<MATRIX_COLUMNS_COUNT; ++j)
        {
            matrix3[i][j] = 0;
                
            for(int k=0; k<MATRIX_COLUMNS_COUNT; ++k)    
            {    
                matrix3[i][j] += matrix1[i][k] * matrix2[k][j];    
            }      
        }
    }
}

int main()
{
    int matrix1[MATRIX_ROWS_COUNT][MATRIX_COLUMNS_COUNT];
    int matrix2[MATRIX_ROWS_COUNT][MATRIX_COLUMNS_COUNT];
    int matrix3[MATRIX_ROWS_COUNT][MATRIX_COLUMNS_COUNT];

    std::cout << "Enter matrix 1\n";
    if(!InputMatrix(matrix1))
    {
        return 1;
    }
    
    std::cout << "\nEnter matrix 2\n";
    if(!InputMatrix(matrix2))
    {
        return 1;
    }

    MatricesProduct(matrix1, matrix2, matrix3);

    std::cout << "\nProduct of matrix 1 and matrix 2 is\n";
    PrintMatrix(matrix3);
    
    return 0;    
}

Need a fast expert's response?

Submit order

and get a quick answer at the best price

for any assignment or question with DETAILED EXPLANATIONS!

Comments

No comments. Be the first!

Leave a comment

LATEST TUTORIALS
New on Blog