# Multiplication of two matrices

0
543

## Given two matrices, this function will multiply the two matrices and prints the result. Here, necessary and sufficient condition is the number of columns in A should be equal to the number of rows in matrix B.

### Example

INPUT

A[4][4] = { {1, 1, 1, 1},
{1, 6, 7, 6},
{6, 3, 7, 12},
{4, 4, 4, 4}};

B[4][4] = { {1, 1, 1, 1},
{2, 2, 2, 2},
{3, 3, 3, 3},
{4, 9, 1, 7}};

OUTPUT
10Â  15Â  7Â  13
58Â  88Â  40Â  76
81Â  141Â  45Â  117
40Â  60Â  28Â  52

In the above example, we got the first element in output by multiplying all the respective elements in first row of matrix A with the elements in the first column of matrix B and adding them. Similarly for the second element in first row of the output, we need to take first row of matrix A and second column of matrix B. In this way we got all the elements in output matrix

Time Complexity: O(n^3),

here n is the size of the matrix

## Algorithm

1. Simply run three loops
2. Loop for each row in matrix A with variable i
3. Inside the above loop, Loop for each column in matrix B with variable j
4. Inside the above two loops, Loop for each row element in matrix A with variable k and each column element in matrix B with variable kÂ  ie, A[i][k] and B[k][j] .
5. we will find the product of each row element in A with each colum element in B. ie, A[i][k] * B[k][j] and add all the products and store in new matrix C ie, C[i][j]
6. matrix C is the multiplication output

## C++ Program

``````#include <bits/stdc++.h>
using namespace std;
#define N 4
int main()
{
int A[N][N] = { {1, 1, 1, 1},
{1, 6, 7, 6},
{6, 3, 7, 12},
{4, 4, 4, 4}};

int B[N][N] = { {1, 1, 1, 1},
{2, 2, 2, 2},
{3, 3, 3, 3},
{4, 9, 1, 7}};

int C[N][N];
for(int i=0; i <N; i++)
{
for(int j=0; j<N; j++)
{int sum = 0;
for(int k=0;k<N;k++)
{
sum += A[i][k] * B[k][j];
}
C[i][j] = sum;
cout <<C[i][j] <<"  ";
}
cout<<endl;
}

return 0;
}``````

Next articleSubtraction of two matrices
If you have come this far, it means that you liked what you are reading. I am a software developer (graduated from BITS Pilani). I love writing technical articles on programming and data structures.