C++ Programming Code Examples C++ > Arrays and Matrices Code Examples Matrix Multiplication 2D (dimensional) Array Matrix Multiplication 2D (dimensional) Array Matrix definition Matrix addition is the operation of adding two matrices by adding the corresponding entries together. Two Dimensional (2 D) array in C++ The two dimensional array in C, represented in the form of rows and columns, also suitable with matrix. It is also known as Multidimensional array Multidimensional arrays According to Wikipedia, For multi dimensional array, the element with indices i,j would have address B + c · i + d · j, where the coefficients c and d are the row and column address increments, respectively. More generally, in a k-dimensional array, the address of an element with indices i1, i2, ..., ik is B + c1 · i1 + c2 · i2 + ... + ck · ik. // Header Files #include <iostream> #include<conio.h> using namespace std; #include <stdio.h> int main() { int rowCountOne, columnCountOne, rowCountTwo, columnCountTwo, i, j, k, sum = 0; int firstMatrix[10][10], secondMatrix[10][10], resultMatrix[10][10]; cout<<"Number of rows in first matrix : "; cin>>rowCountOne; cout<<"Number of columns in first matrix : "; cin>>columnCountOne; cout<<"Elements of first matrix : \n"; for (i = 0; i < rowCountOne; i++) for (j = 0; j < columnCountOne; j++) cin>>firstMatrix[i][j]; cout<<"Number of rows of second matrix : "; cin>>rowCountTwo; cout<<"Number of columns of second matrix : "; cin>>columnCountTwo; if (columnCountOne != rowCountTwo) cout<<"Matrices with entered orders cannot be multiplied.\n"; else { cout<<"Elements of second matrix : \n"; for (i = 0; i < rowCountTwo; i++) for (j = 0; j < columnCountTwo; j++) cin>>secondMatrix[i][j]; for (i = 0; i < rowCountOne; i++) { for (j = 0; j < columnCountTwo; j++) { for (k = 0; k < rowCountTwo; k++) { sum = sum + firstMatrix[i][k]*secondMatrix[k][j]; } resultMatrix[i][j] = sum; sum = 0; } } cout<<"After Multiplication, the result is : \n"; for (i = 0; i < rowCountOne; i++) { for (j = 0; j < columnCountTwo; j++) cout<<resultMatrix[i][j]<<"\t"; cout<<"\n"; } } return 0; }