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

PhD researcher at Friedrich-Schiller University Jena, Germany. I'm a physicist specializing in computational material science. I write efficient codes for simulating light-matter interactions at atomic scales. I like to develop Physics, DFT and Machine Learning related apps and softwares from time to time. Can code in most of the popular languages. Like to share my knowledge in Physics and applications using this Blog and a YouTube channel.
[wpedon id="7041" align="center"]

Leave a Reply

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