# C Program to Perform Arithmetic Operations on Multi-Dimensional Arrays

Write a C Program to Perform Arithmetic Operations on Multi-Dimensional Arrays with an example along with a detailed explanation.

## C Program to Perform Arithmetic Operations on Multi-Dimensional Arrays

This C program allows the user to enter the number of rows and columns of 2 Two dimensional array. Then, we are going to perform Arithmetic Operations such as Addition, Subtraction, Multiplication, and Division on Multi-Dimensional Arrays in C.

```/* C Program to Perform Arithmetic Operations on Matrix */
#include<stdio.h>

int main()
{
int i, j, rows, columns, a, b;
float Division;

printf("\nPlease Enter Number of rows and columns\n");
scanf("%d %d", &i, &j);

printf("\nPlease Enter the First Array Elements\n");
for(rows = 0; rows < i; rows++)
{
for(columns = 0;columns < j;columns++)
{
scanf("%d", &a[rows][columns]);
}
}

printf("\nPlease Enter the Second Array Elements\n");
for(rows = 0; rows < i; rows++)
{
for(columns = 0;columns < j;columns++)
{
scanf("%d", &b[rows][columns]);
}

}

for(rows = 0; rows < i; rows++)
{
for(columns = 0;columns < j;columns++)
{
Subtraction[rows][columns] = a[rows][columns] - b[rows][columns];
Multiplication[rows][columns] = a[rows][columns] * b[rows][columns];
Division[rows][columns] = a[rows][columns] / b[rows][columns];
Module[rows][columns] = a[rows][columns] % b[rows][columns];
}
}

for(rows = 0; rows < i; rows++)
{
for(columns = 0; columns < j; columns++)
{
printf("%d \t ", Subtraction[rows][columns]);
printf("%d \t ", Multiplication[rows][columns]);
printf("%.2f \t ", Division[rows][columns]);
printf("%d \t ", Module[rows][columns]);
}
}
return 0;
} ```

In this C Program to Perform Arithmetic Operations on Multi-Dimensional Arrays, the below for loop will help to iterate each cell present in a matrix. Conditions inside the for loops ((rows < i) and (columns < j)) will ensure the compiler, not to exceed the matrix limit. Otherwise, the matrix will overflow.

The scanf statement inside the for loop will store the user entered values in every individual array element such as a, a, a, a, a, a

```for(rows = 0; rows < i; rows++).
{
for(columns = 0; columns < j; columns++)
{
scanf("%d", &a[rows][columns]);
}
}```

Below C Programming for loop will help to iterate each cell present in the b matrix.

```for(rows = 0; rows < i; rows++).
{
for(columns = 0; columns < j; columns++)
{
scanf("%d", &b[rows][columns]);
}
}```

In the next line of the C Program to Perform Arithmetic Operations on Multi-Dimensional Arrays, We have one more for loop.

```for(rows = 0; rows < i; rows++)
{
for(columns = 0;columns < j;columns++)
{
Subtraction[rows][columns] = a[rows][columns] - b[rows][columns];
Multiplication[rows][columns] = a[rows][columns] * b[rows][columns];
Division[rows][columns] = a[rows][columns] / b[rows][columns];
Module[rows][columns] = a[rows][columns] % b[rows][columns];
}
}```

The above For loop is to calculate the Arithmetic Operations such as Addition, Subtraction, Multiplication, Division, and Module of 2 arrays.

From the above C Program to Perform Arithmetic Operations on Multi-Dimensional Arrays screenshot, the user inserted values are
a = {{15, 25, 35}, { 45, 55, 65}} and
b = {{10, 5, 20}, {30, 45, 30}}

Row First Iteration
The value of the row will be 0, and the condition (rows < 2) is True. So, it will enter into second for loop

Column First Iteration
The value of the column will be 0, and the condition (columns < 2) is True. So, it will start executing the statements inside the loop until the condition fails.

Addition [rows][columns] = a[rows][columns] + b[rows][columns];
Addition  = a + b => 15 + 10 = 25

Subtraction [rows][columns] = a[rows][columns] – b[rows][columns];
Subtraction  = 15 – 10 = 5

Multiplication [rows][columns] = a[rows][columns] * b[rows][columns];
Multiplication  = 15 * 10 = 150

Division [rows][columns] = a[rows][columns] / b[rows][columns];
Division  = 15 / 10 = 1

Module [rows][columns] = a[rows][columns] / b[rows][columns];
Module  = 15 % 10 = 5

Column Second Iteration
The value of the column will be 1, and the condition (columns < 3) is True. Since we didn’t exit from the inner loop (Columns loop), Row value will be 0

Addition = 25 + 5 = 30

Subtraction  = 25 – 5 = 20
Multiplication  = 25 * 5 = 125

Division  = 25 / 5 = 5
Module  = 25 % 5 = 0

Column 3rd Iteration
The value of columns will be 2, and the condition (2 < 3) is True.

Addition  = a + b;
Addition  = 35 + 20 = 55

Subtraction  = 35 – 20 = 15
Multiplication  =35 * 20 = 700

Division  = 35 / 20 = 1
Module  = 25 % 5 = 15

After incrementing, the value of the columns will be 3, and the condition (3 < 3) will fail. So it will exit from the loop.

Now the value of the row will increment and starts the second row iteration

Row First Iteration
The value of the row will be 1, and the condition (1 < 2) is True. So, it will enter into second for loop

Column First Iteration
The value of the column will be 0, and the condition (columns < 3) is True.

Addition  = a + b;
Addition  = 45 + 30 = 75

Subtraction  = 45 – 30 = 15
Multiplication  = 45 * 30 = 1350

Division  = 45 / 30 = 1
Module  = 45 % 30 = 15

Column Second Iteration
column = 1, and the condition (columns < 3) is True. Since we still in the inner loop (Columns loop), Row value will be 1

Addition = 55 + 45 = 100

Subtraction = 55 – 45 = 10
Multiplication [= 55 * 45 = 2475
Division = 55 / 45 = 1
Module = 55 % 45 = 10

Column 3rd Iteration
columns = 2, and the condition (columns < 3) is True.

Addition  = a + b;
Addition  = 65 + 30 = 95

Subtraction  = 65 – 30 = 35
Multiplication  = 65 * 30 = 1950
Division  = 65 / 30 = 2
Module  = 65 % 30 = 5

After the increment, the value of columns will be 3, and the condition (columns < 3) will fail. So it will exit from the loop.

Now the value of rows will increment. It means rows =2. Condition (2< 2) will fail. So, it will exit from the loop.

Next for loop will traverse as we explained above. However, instead of summing, it will display the values one by one using the printf statements inside them.

```for(rows = 0; rows < i; rows++)
{
for(columns = 0; columns < j; columns++)
{
printf("%d \t ", Subtraction[rows][columns]);
printf("%d \t ", Multiplication[rows][columns]);
printf("%.2f \t ", Division[rows][columns]);
printf("%d \t ", Module[rows][columns]);
}
}```

The final output of the Addition Array in this C program is:
Addition  = { {25, 30, 55}, {75, 100, 95} };

The final output of the Subtraction Array is:
Subtraction  = { {5, 20, 15}, {15, 10, 35} };

The final output of the Multiplication Array is:
Multiplication  = { {150, 125, 700}, {1350, 2475, 1950} };

The final output of the Division array is:
Division  = { {1.00, 5.00, 1.00,}, {1.00, 1.00, 2.00} };

The final output of the Module Array is:
Module  = { {5, 0, 15}, {15, 10, 5} };