Program for subtraction of matrices - GeeksforGeeks

24 Aug, 2021
The below program subtracts of two square matrices of size 4*4, we can change N for different dimension. 
C++
C
Java
Python3
C#
PHP
Javascript
// C++ program for subtraction of matrices#include <bits/stdc++.h>using namespace std;#define N 4 // This function subtracts B[][] from A[][], and stores// the result in C[][]void subtract(int A[][N], int B[][N], int C[][N]){    int i, j;    for (i = 0; i < N; i++)        for (j = 0; j < N; j++)            C[i][j] = A[i][j] - B[i][j];} // Driver codeint main(){    int A[N][N] = { {1, 1, 1, 1},                    {2, 2, 2, 2},                    {3, 3, 3, 3},                    {4, 4, 4, 4}};     int B[N][N] = { {1, 1, 1, 1},                    {2, 2, 2, 2},                    {3, 3, 3, 3},                    {4, 4, 4, 4}};     int C[N][N]; // To store result    int i, j;    subtract(A, B, C);     cout << "Result matrix is " << endl;    for (i = 0; i < N; i++)    {        for (j = 0; j < N; j++)        cout << C[i][j] << " ";        cout << endl;    }     return 0;} // This code is contributed by rathbhupendra
#include <stdio.h>#define N 4 // This function subtracts B[][] from A[][], and stores// the result in C[][]void subtract(int A[][N], int B[][N], int C[][N]){    int i, j;    for (i = 0; i < N; i++)        for (j = 0; j < N; j++)            C[i][j] = A[i][j] - B[i][j];} int main(){    int A[N][N] = { {1, 1, 1, 1},                    {2, 2, 2, 2},                    {3, 3, 3, 3},                    {4, 4, 4, 4}};     int B[N][N] = { {1, 1, 1, 1},                    {2, 2, 2, 2},                    {3, 3, 3, 3},                    {4, 4, 4, 4}};     int C[N][N]; // To store result    int i, j;    subtract(A, B, C);     printf("Result matrix is \n");    for (i = 0; i < N; i++)    {        for (j = 0; j < N; j++)           printf("%d ", C[i][j]);        printf("\n");    }     return 0;}
// Java program for subtraction of matrices class GFG{     static final int N=4;     // This function subtracts B[][]    // from A[][], and stores    // the result in C[][]    static void subtract(int A[][], int B[][], int C[][])    {        int i, j;        for (i = 0; i < N; i++)            for (j = 0; j < N; j++)                C[i][j] = A[i][j] - B[i][j];    }         // Driver code    public static void main (String[] args)    {        int A[][] = { {1, 1, 1, 1},                        {2, 2, 2, 2},                        {3, 3, 3, 3},                        {4, 4, 4, 4}};             int B[][] = { {1, 1, 1, 1},                        {2, 2, 2, 2},                        {3, 3, 3, 3},                        {4, 4, 4, 4}};                                 // To store result        int C[][]=new int[N][N];         int i, j;        subtract(A, B, C);             System.out.print("Result matrix is \n");        for (i = 0; i < N; i++)        {            for (j = 0; j < N; j++)            System.out.print(C[i][j] + " ");            System.out.print("\n");        }    }} // This code is contributed by Anant Agarwal.
# Python 3 program for subtraction# of matrices N = 4 # This function returns 1# if A[][] and B[][] are identical# otherwise returns 0def subtract(A, B, C):         for i in range(N):        for j in range(N):            C[i][j] = A[i][j] - B[i][j] # Driver CodeA = [ [1, 1, 1, 1],      [2, 2, 2, 2],      [3, 3, 3, 3],      [4, 4, 4, 4]] B = [ [1, 1, 1, 1],      [2, 2, 2, 2],      [3, 3, 3, 3],      [4, 4, 4, 4]]                     C = A[:][:] # To store result     subtract(A, B, C) print("Result matrix is")for i in range(N):    for j in range(N):        print(C[i][j], " ", end = '')    print()     # This code is contributed# by Anant Agarwal.
// C# program for subtraction of matricesusing System; class GFG{static int N = 4; // This function subtracts B[][]// from A[][], and stores// the result in C[][]public static void subtract(int[][] A,                            int[][] B,                            int[, ] C){    int i, j;    for (i = 0; i < N; i++)    {        for (j = 0; j < N; j++)        {            C[i, j] = A[i][j] - B[i][j];        }    }}  // Driver codepublic static void Main(string[] args){    int[][] A = new int[][]    {        new int[] {1, 1, 1, 1},        new int[] {2, 2, 2, 2},        new int[] {3, 3, 3, 3},        new int[] {4, 4, 4, 4}    };     int[][] B = new int[][]    {        new int[] {1, 1, 1, 1},        new int[] {2, 2, 2, 2},        new int[] {3, 3, 3, 3},        new int[] {4, 4, 4, 4}    };     // To store result     int[, ] C = new int[N, N];     int i, j;    subtract(A, B, C);     Console.Write("Result matrix is \n");    for (i = 0; i < N; i++)    {        for (j = 0; j < N; j++)        {            Console.Write(C[i, j] + " ");        }        Console.Write("\n");    }}} // This code is contributed by Shrikant13
<?php// This function subtracts B[][]// from A[][], and stores the// result in C[][]function subtract(&$A, &$B, &$C){    $N = 4;    for ($i = 0; $i < $N; $i++)        for ($j = 0; $j < $N; $j++)            $C[$i][$j] = $A[$i][$j] -                         $B[$i][$j];} // Driver code$N = 4;$A = array(array(1, 1, 1, 1),           array(2, 2, 2, 2),           array(3, 3, 3, 3),           array(4, 4, 4, 4)); $B = array(array(1, 1, 1, 1),           array(2, 2, 2, 2),           array(3, 3, 3, 3),           array(4, 4, 4, 4)); subtract($A, $B, $C); echo "Result matrix is \n";for ($i = 0; $i < $N; $i++){    for ($j = 0; $j < $N; $j++)    {        echo $C[$i][$j];        echo " ";    }        echo "\n";} // This code is contributed// by Shivi_Aggarwal?>
<script> // Javascript program for subtraction of matricesvar N = 4; // This function subtracts B[][] from A[][], and stores// the result in C[][]function subtract(A, B, C){    var i, j;    for (i = 0; i < N; i++)        for (j = 0; j < N; j++)            C[i][j] = A[i][j] - B[i][j];} // Driver codevar A = [ [1, 1, 1, 1],                [2, 2, 2, 2],                [3, 3, 3, 3],                [4, 4, 4, 4]];var B = [ [1, 1, 1, 1],                [2, 2, 2, 2],                [3, 3, 3, 3],                [4, 4, 4, 4]];var C = Array.from(Array(N), () => Array(N)); // To store resultvar i, j;subtract(A, B, C);document.write( "Result matrix is " + "<br>");for (i = 0; i < N; i++){    for (j = 0; j < N; j++)        document.write( C[i][j] + " ");    document.write("<br>");} // This code is contributed by itsok.</script>
Output: 
Result matrix is
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
Note – The number at 0th row and 0th column of first matrix gets subtracted with number at 0th row and 0th column of second matrix. And its subtraction result gets initialized as the the value of 0th row and 0th column of resultant matrix. Same subtraction process applied for all the elements
The program can be extended for rectangular matrices. The following post can be useful for extending this program. How to pass a 2D array as a parameter in C?The time complexity of the above program is O(n2). 
The auxiliary space of the above program is O(n2).Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.
Shivi_Aggarwal
shrikanth13
rathbhupendra
ASHUTOSH_GUPTA
subhammahato348
itsok
gargr0109
Matrix
School Programming
Matrix
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Efficiently compute sums of diagonals of a matrix
Flood fill Algorithm - how to implement fill() in paint?
Check for possible path in 2D matrix
Zigzag (or diagonal) traversal of Matrix
Mathematics | L U Decomposition of a System of Linear Equations
Python Dictionary
Arrays in C/C++
Inheritance in C++
Reverse a string in Java
C++ Classes and Objects