# 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) Multiplication Array Example , Multidimensional Array Example*/
/*##Calculation Programs, Datatype Programs, Basic Programs*/

#include <stdio.h>

int main()
{
int rowCountOne, columnCountOne, rowCountTwo, columnCountTwo, i, j, k, sum = 0;
int firstMatrix, secondMatrix, resultMatrix;

printf("Number of rows in first matrix : ");
scanf("%d", &rowCountOne);

printf("Number of columns in first matrix : ");
scanf("%d", &columnCountOne);

printf("Elements of first matrix : \n");

for (i = 0; i < rowCountOne; i++)
for (j = 0; j < columnCountOne; j++)
scanf("%d", &firstMatrix[i][j]);

printf("Number of rows of second matrix : ");
scanf("%d", &rowCountTwo);

printf("Number of columns of second matrix : ");
scanf("%d", &columnCountTwo);

if (columnCountOne != rowCountTwo)
printf("Matrices with entered orders cannot be multiplied.\n");
else
{
printf("Elements of second matrix : \n");

for (i = 0; i < rowCountTwo; i++)
for (j = 0; j < columnCountTwo; j++)
scanf("%d", &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]*second[k][j];
}

resultMatrix[i][j] = sum;
sum = 0;
}
}

printf("After Multiplication, the result is : \n");

for (i = 0; i < rowCountOne; i++) {
for (j = 0; j < columnCountTwo; j++)
printf("%d\t", resultMatrix[i][j]);

printf("\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``````