C++ Program to multiply two Matrices

One can define matrices in C++ using 2-D arrays.

In this post I will assume, that you are familiar with the concepts of arrays.

In this post I will show you how to write a C++ program that gives the product of two matrices.

The product of two matrices isn’t always defined.
The product of matrices A and B :
A\times B is defined only when the no. of columns of A is equal to the no. of rows in matrix B .

If A is an m\times p matrix, and B is an p\times n matrix, then the product matrix would be a m\times n matrix,
(A\times B)_{ij} = \sum_{k=1}^pA_{ik}B_{kj}

With the above, information, we can proceed to write a simple program, to multiply two matrices of given sizes.
We would also need to check whether the matrix product is defined or not.

The program is pretty much self-explanatory.


//Matrix Multiply
using namespace std;
int main()
	int m,n,p,q;
	a:cout<<"\nEnter the order of the matrix A:\n";
	cout<<"\nEnter the order of the matrix B:\n";
		cout<<"\nCan't multiply!\nThe number of columns of A should be equal to the number of rows in B.\n\nPlease enter again!\n\n";
		goto a;
	double a[m][n];
	double b[n][p];
	double prod[m][p];
	cout<<"\nEnter the elements of the matrix A row-wise:\n";
    for (int i=0;i<m;i++)
        for (int j=0;j<n;j++)    
    cout<<"\nEnter the elements of the matrix B row-wise:\n";
    for (int i=0;i<n;i++)
        for (int j=0;j<p;j++)    
	for (int i=0;i<m;i++){
		for (int j=0;j<p;j++){
			for(int k=0;k<n;k++){
	cout<<"\nThe product AxB is:\n";
	for (int i=0;i<m;i++){
        for (int j=0;j<p;j++){
    return 0;


Sample output

[wpedon id="7041" align="center"]

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.