Summary: In this programming example, we will learn how to multiply two matrices in C++.

Example:

```m1    = {{1, 2, 3},
{1, 1, 1}}

m2    = {{1, 2},
{1, 3},
{1, 1}}

m1*m2 = {{6, 11},
{3, 6}}```

## Condition for Matrix Multiplication

Two matrices A and B can be multiplied only if the number of columns in A is equal to the number of rows in B.

Also, the order of the resultant matrix is as follows:

• row = number of rows in the first matrix.
• columns = number of columns in the second matrix.

So before multiplying, first we verify the order of the given matrix and then define the order for the resulting matrix accordingly.

## Algorithm to Multiply Two Matrix in C++

1. Loop (`I`) from 0 to row order of the first matrix.
1. Nest (`J`) another loop from 0 to the column order of the second matrix.
1. Nest another loop (K) from 0 to row order of the second matrix.
• Sum `(matrix1[I][K] * matrix2[K][J])`
2. Store the final sum into the resultant matrix as `res[I][J] = sum`.
2. End (`J`) loop.
2. End (`I`) loop.

Basically, we have to nest 3 ‘for’ loops in order to multiply and store the multiplication result into the resultant matrix.

Here is the C++ example that multiply two given matrices:

``````#include <iostream>
using namespace std;

int main()
{
//order of matrix A
int r1 = 2, c1 = 3;

//order of matrix B
int r2 = 3, c2 = 2;

//matrix A
int m1[r1][c1] = {{1, 2, 3},
{1, 1, 1}};

//matrix B
int m2[r2][c2] = {{1, 2},
{1, 3},
{1, 1}};

//Check order of Matrix A and B
if(c1 != r2){
cout << "Matrix  multiplaction Not possible for the given matrices";
} else {
//define order of the resultant matrix
int res[r1][c2];

//Multiply the elements of A and B
for(int i=0; i<r1; i++){
for(int j=0; j<c2; j++){
int sum =0;
for(int k=0; k<r2; k++){
sum += (m1[i][k] * m2[k][j]);
}
res[i][j] = sum;
}
}

//output the resultant matrix
cout << "Resultant Matrix: \n";
for(int i=0; i<r1; i++){
for(int j=0; j<c2; j++){
cout << res[i][j] << "\t";
}
cout << "\n";
}

}

return 0;
}``````

Output:

Resultant Matrix
6 11
3 6

In this tutorial, we learned to multiply matrices in the C++ programming language.