Write a program that performs the substraction of two matrices A and B of the same dimensions R and C.

Matrix B is subtracted from A.

\(\begin{pmatrix} a & b & c & d \\e & f & g & h \\ i & j & k & l \end{pmatrix} - \begin{pmatrix} a' & b' & c' & d' \\e' & f' & g' & h' \\ i' & j' & k' & l' \end{pmatrix} = \begin{pmatrix} a-a' & b-b' & c-c' & d-d' \\e-e' & f-f' & g-g' & h-h' \\ i-i' & j-j' & k-k' & l-l' \end{pmatrix}\)


Difficulty level
This exercise is mostly suitable for students
#include <stdio.h>
#include <conio.h>
#define SIZE 50
void main()
{
	int A[SIZE][SIZE];
	int B[SIZE][SIZE];
	int R, C;        /* dimensions */
	int I, J;             
			
	do {
		printf("Number of rows   (max.%d) : ", SIZE);
		scanf("%d", &R);
	} while (R <= 0 || R > SIZE);
	do {
		printf("Number of columns (max.%d) : ", SIZE);
		scanf("%d", &C);
	} while (C <= 0 || C > SIZE);

	printf("*** Matrix A ***\n");
	for (I = 0; I<R; I++)
		for (J = 0; J<C; J++)
		{
			printf("A[%d][%d] : ", I, J);
			scanf("%d", &A[I][J]);
		}

	printf("*** Matrix B ***\n");
	for (I = 0; I<R; I++)
		for (J = 0; J<C; J++)
		{
			printf("B[%d][%d] : ", I, J);
			scanf("%d", &B[I][J]);
		}


	printf("Matrix A :\n");
	for (I = 0; I<R; I++)
	{
		for (J = 0; J<C; J++)
			printf("%6d", A[I][J]);
		printf("\n");
	}

	printf("Matrix B :\n");
	for (I = 0; I<R; I++)
	{
		for (J = 0; J<C; J++)
			printf("%6d", B[I][J]);
		printf("\n");
	}

	
	for (I = 0; I<R; I++)
		for (J = 0; J<C; J++)
			A[I][J] -= B[I][J];

	
	printf("Resultant matrix :\n");
	for (I = 0; I<R; I++)
	{
		for (J = 0; J<C; J++)
			printf("%6d", A[I][J]);
		printf("\n");
	}
	getch();
}

Back to the list of exercises
Looking for a more challenging exercise, try this one !!
Divisibility by 9