# C program to add two matrices

Learn how to write a C program to add two matrices. This article provides a detailed explanation and sample code for matrix addition using a simple iterative approach.

Matrix addition is a fundamental operation in linear algebra with numerous applications in scientific computing, engineering, and computer graphics. This article will guide you through writing a C program to add two matrices, providing a detailed explanation and sample code.

## Steps to Add Two Matrices

To add two matrices, we can follow these steps:

**Input the Matrices**: Read the elements of the two matrices from the user.**Initialize the Result Matrix**: Create a matrix to store the result of the addition.**Perform the Addition**: Add corresponding elements of the two matrices and store the results in the result matrix.**Print the Result**: Output the result matrix to the console.

## Write a C program to add two matrices

```
#include <stdio.h>
int main() {
int rows, cols;
// Input the dimensions of the matrices
printf("Enter the number of rows and columns -\n");
scanf("%d %d", &rows, &cols);
// Declare the matrices
int matrix1[rows][cols], matrix2[rows][cols], result[rows][cols];
// Input elements of the first matrix
printf("\nEnter elements of the first matrix -\n");
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
printf("Element [%d][%d]: ", i, j);
scanf("%d", &matrix1[i][j]);
}
}
// Input elements of the second matrix
printf("\nEnter elements of the second matrix -\n");
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
printf("Element [%d][%d]: ", i, j);
scanf("%d", &matrix2[i][j]);
}
}
// Perform matrix addition
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
result[i][j] = matrix1[i][j] + matrix2[i][j];
}
}
// Print the result matrix
printf("\nResultant matrix after addition -\n");
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
printf("%d ", result[i][j]);
}
printf("\n");
}
return 0;
}
```

**Output**

```
Enter the number of rows and columns -
3
3
Enter elements of the first matrix -
Element [0][0]: 1
Element [0][1]: 2
Element [0][2]: 3
Element [1][0]: 4
Element [1][1]: 5
Element [1][2]: 6
Element [2][0]: 7
Element [2][1]: 8
Element [2][2]: 9
Enter elements of the second matrix -
Element [0][0]: 9
Element [0][1]: 8
Element [0][2]: 7
Element [1][0]: 6
Element [1][1]: 5
Element [1][2]: 4
Element [2][0]: 3
Element [2][1]: 2
Element [2][2]: 1
Resultant matrix after addition -
10 10 10
10 10 10
10 10 10
```

### Explanation

**Input the Matrices**: The user inputs the dimensions (number of rows and columns) of the matrices and then enters the elements of the two matrices.**Initialize the Result Matrix**: A result matrix of the same dimensions is declared to store the results of the addition.**Perform the Addition**: Nested loops iterate over each element of the matrices, adding corresponding elements and storing the results in the result matrix.**Print the Result**: The program prints the elements of the result matrix.

### Detailed Steps

**Step 1: Input the Matrices**- The program prompts the user to enter the number of rows and columns for the matrices.
- The user inputs the elements of the first and second matrices.

**Step 2: Initialize the Result Matrix**- A result matrix is declared to store the sum of corresponding elements from the first and second matrices.

**Step 3: Perform the Addition**- Two nested loops iterate through each element of the matrices.
- The corresponding elements of the two matrices are added, and the sum is stored in the result matrix.

**Step 4: Print the Result**- The program prints the elements of the result matrix row by row.