Related Articles
Java Program to Subtract the Two Matrices
• Last Updated : 04 Jan, 2021

Given below the two matrices A and B, the task is to subtract them, and for subtracting the matrices the size of both the matrix should be same i.e. both the matrix must have N X M dimension.

Example:

```Input : A[][] = {{3, 1},
{2, 4}}
B[][] = {{1, 1},
{2, 1}}
Output: {{2, 0},
{0, 3}}
Input : A[][] = {{1, 2},
{3, 4}}
B[][] = {{6, 4},
{1, 3}}
Output: {{-5, -2},
{2, 1}}```

Approach:

• Initialize the two matrices of equal sizes because to perform the subtraction, the size of both the matrix should be the same.
• Assign the values in both the matrix.
• Create a new matrix of the same size as of Matrix1 and Matrix2 to store the result after subtraction.
• Traverse through the matrix with the help of for loop, and perform the subtraction on both the matrix. And store the result in the resultant matrix.
• Print the final resultant matrix.

Below is the implementation of the above approach :

## Java

 `// Java Program to Subtract the Two Matrices`` ` `import` `java.io.*;`` ` `class` `GFG {`` ` `    ``// Function to print Matrix``    ``static` `void` `printMatrix(``int` `M[][], ``int` `rowSize,``                            ``int` `colSize)``    ``{``        ``for` `(``int` `i = ``0``; i < rowSize; i++) {``            ``for` `(``int` `j = ``0``; j < colSize; j++)``                ``System.out.print(M[i][j] + ``" "``);`` ` `            ``System.out.println();``        ``}``    ``}`` ` `    ``// Function to subtract the two matrices``    ``// and store in matrix C``    ``static` `int``[][] subtract(``int` `A[][], ``int` `B[][], ``int` `size)``    ``{``        ``int` `i, j;``        ``int` `C[][] = ``new` `int``[size][size];`` ` `        ``for` `(i = ``0``; i < size; i++)``            ``for` `(j = ``0``; j < size; j++)``                ``C[i][j] = A[i][j] + B[i][j];`` ` `        ``return` `C;``    ``}`` ` `    ``// Driver code``    ``public` `static` `void` `main(String[] args)``    ``{``        ``int` `size = ``3``;`` ` `        ``int` `A[][] = { { ``50``, ``20``, ``30` `},``                      ``{ ``60``, ``30``, ``10` `},``                      ``{ ``30``, ``80``, ``10` `} };``        ``// Print the matrices A``        ``System.out.println(``"\nMatrix A:"``);``        ``printMatrix(A, size, size);`` ` `        ``int` `B[][] = { { ``10``, ``10``, ``5` `},``                      ``{ ``20``, ``10``, ``12` `},``                      ``{ ``23``, ``21``, ``12` `} };``        ``// Print the matrices B``        ``System.out.println(``"\nMatrix B:"``);``        ``printMatrix(B, size, size);`` ` `        ``// Add the two matrices``        ``int` `C[][] = subtract(A, B, size);`` ` `        ``// Print the result``        ``System.out.println(``"\nResultant Matrix:"``);``        ``printMatrix(C, size, size);``    ``}``}`
Output
```Matrix A:
50 20 30
60 30 10
30 80 10

Matrix B:
10 10 5
20 10 12
23 21 12

Resultant Matrix:
60 30 35
80 40 22
53 101 22
```

Time Complexity: O(N x M), where N x M is the dimension of matrices.

Attention reader! Don’t stop learning now. Get hold of all the important Java Foundation and Collections concepts with the Fundamentals of Java and Java Collections Course at a student-friendly price and become industry ready. To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

My Personal Notes arrow_drop_up