# Matrix Multiplication 2 D (dimensional) Array Example Example Program

## 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.``

## Syntax

``data_type variable_name[size_row][size_col];``

## Syntax Example

``````int a;
``````

## Matrix Subtraction 2 D (dimensional) or Multidimensional Array Example Program In C++

``````/*## Matrix Multiplication, 2 D (dimensional) Array Example In C++ */
/*## Multidimensional Array Example In C++						   */

// 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, secondMatrix, resultMatrix;

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;
}
``````

## Sample Output

``````Number of rows in first matrix : 3
Number of columns in first matrix : 3
Elements of first matrix :
3
3
3
3
3
3
3
3
3
Number of rows of second matrix : 3
Number of columns of second matrix : 3
Enter the elements of second matrix :
3
3
3
3
3
3
3
3
3
After Multiplication, the result is :
27      27      27
27      27      27
27      27      27``````