This C Program calculates the sum & difference of the matrices. The program first reads 2 matrices and then performs both addition and subtraction of matrices

Here is source code of the C program to calculates the sum & difference of the matrices. The C program is successfully compiled and run on a Linux system. The program output is also shown below.

`/*`

`* C program to accept two matrices and find the sum`

`* and difference of the matrices`

`*/`

`#include <stdio.h>`

`#include <stdlib.h>`

void readmatA();

void printmatA();

void readmatB();

void printmatB();

void sum();

void diff();

int a[10][10], b[10][10], sumarray[10][10], arraydiff[10][10];

int i, j, row1, column1, row2, column2;

void main()

`{`

printf("Enter the order of the matrix A \n");

scanf("%d %d", &row1, &column1);

printf("Enter the order of the matrix B \n");

scanf("%d %d", &row2, &column2);

if (row1 != row2 && column1 != column2)

`{`

printf("Addition and subtraction are possible \n");

exit(1);

`}`

`else`

`{`

printf("Enter the elements of matrix A \n");

readmatA();

printf("MATRIX A is \n");

printmatA();

printf("Enter the elements of matrix B \n");

readmatB();

printf("MATRIX B is \n");

printmatB();

sum();

diff();

`}`

`}`

`/* Function to read a matrix A */`

void readmatA()

`{`

for (i = 0; i < row1; i++)

`{`

for (j = 0; j < column1; j++)

`{`

scanf("%d", &a[i][j]);

`}`

`}`

return;

`}`

`/* Function to read a matrix B */`

void readmatB()

`{`

for (i = 0; i < row2; i++)

`{`

for (j = 0; j < column2; j++)

`{`

scanf("%d", &b[i][j]);

`}`

`}`

`}`

`/* Function to print a matrix A */`

void printmatA()

`{`

for (i = 0; i < row1; i++)

`{`

for (j = 0; j < column1; j++)

`{`

printf("%3d", a[i][j]);

`}`

printf("\n");

`}`

`}`

`/* Function to print a matrix B */`

void printmatB()

`{`

for (i = 0; i < row2; i++)

`{`

for (j = 0; j < column2; j++)

`{`

printf("%3d", b[i][j]);

`}`

printf("\n");

`}`

`}`

`/* Function to do the sum of elements of matrix A and Matrix B */`

void sum()

`{`

for (i = 0; i < row1; i++)

`{`

for (j = 0; j < column2; j++)

`{`

sumarray[i][j] = a[i][j] + b[i][j];

`}`

`}`

printf("Sum matrix is \n");

for (i = 0; i < row1; i++)

`{`

for (j = 0; j < column2; j++)

`{`

printf("%3d", sumarray[i][j]) ;

`}`

printf("\n");

`}`

return;

`}`

`/* Function to do the difference of elements of matrix A and Matrix B */`

void diff()

`{`

for (i = 0; i < row1; i++)

`{`

for (j = 0; j < column2; j++)

`{`

arraydiff[i][j] = a[i][j] - b[i][j];

`}`

`}`

printf("Difference matrix is \n");

for (i = 0; i < row1; i++)

`{`

for (j = 0; j < column2; j++)

`{`

printf("%3d", arraydiff[i][j]);

`}`

printf("\n");

`}`

return;

`}`

$ cc pgm56.c $ a.out Enter the order of the matrix A 3 3 Enter the order of the matrix B 3 3 Enter the elements of matrix A 1 4 5 6 7 8 4 8 9 MATRIX A is 1 4 5 6 7 8 4 8 9 Enter the elements of matrix B 3 6 7 8 4 2 1 5 3 MATRIX B is 3 6 7 8 4 2 1 5 3 Sum matrix is 4 10 12 14 11 10 5 13 12 Difference matrix is -2 -2 -2 -2 3 6 3 3 6

**Sanfoundry Global Education & Learning Series – 1000 C Programs.**

Here’s the list of Best Reference Books in C Programming, Data-Structures and Algorithms

If you wish to look at other example programs on Matrix, go to C Programming Examples on Matrix. If you wish to look at programming examples on all topics, go to C Programming Examples.