Index « Previous Next »

Question

Write a program to find the sum of two matrices. The sum of two matrices is the matrix where each element is the sum of the corresponding elements of the two matrices. Matrix addition is only defined when the matrices have the same dimension.

Example :

matrix addition

Source Code

#include <stdio.h>

void input(int matrix[][10], int, int);
void display(int matrix[][10], int, int);
void sum(int matrix1[][10], int matrix2[][10], int matrix3[][10], int, int);

int main()
{
    int r, c;

    int A[10][10], B[10][10], C[10][10];

    printf("Enter number of rows :");
    scanf("%d", &r);

    printf("Enter number of columns :");
    scanf("%d", &c);

    printf("\nArray 1 :\n");
    input(A, r, c);
    printf("\n");
    display(A, r, c);
    printf("\n");

    printf("Array 2 :\n");
    input(B, r, c);
    printf("\n");
    display(B, r, c);
    printf("\n");

    sum(A, B, C, r, c);
    printf("Array 3 :\n");
    display(C, r, c);

    return 0;
}

void input(int matrix[][10], int m, int n)
{
    int i, j;
    for (i = 0; i < m; i++)
    {
        for (j = 0; j < n; j++)
        {
            printf("Enter data in [%d][%d] : ", i, j);
            scanf("%d", &matrix[i][j]);
        }
    }
}

void display(int matrix[][10], int m, int n)
{
    int i, j;
    for (i = 0; i < m; i++)
    {
        for (j = 0; j < n; j++)
        {
            printf("%d\t", matrix[i][j]);
        }
        printf("\n");
    }
}

void sum(int matrix1[][10], int matrix2[][10], int matrix3[][10], int m, int n)
{
    int i, j;
    for (i = 0; i < m; i++)
    {
        for (j = 0; j < n; j++)
        {
            matrix3[i][j] = matrix1[i][j] + matrix2[i][j];
        }
    }
}

Output

Enter number of rows :3
Enter number of columns :2

Array 1 :
Enter data in [0][0] : 10
Enter data in [0][1] : 20
Enter data in [1][0] : 30
Enter data in [1][1] : 40
Enter data in [2][0] : 50
Enter data in [2][1] : 60

10      20
30      40
50      60

Array 2 :
Enter data in [0][0] : 1
Enter data in [0][1] : 2
Enter data in [1][0] : 3
Enter data in [1][1] : 4
Enter data in [2][0] : 5
Enter data in [2][1] : 6

1       2
3       4
5       6

Array 3 :
11      22
33      44
55      66