C program for subtraction of matrices

The below program subtracts of two square matrices of size 4*4, we can change N for different dimension.

C

filter_none

edit
close

play_arrow

link
brightness_4
code

#include <stdio.h>
#define N 4
  
// This function subtracts B[][] from A[][], and stores
// the result in C[][]
void multiply(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;
    multiply(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;
}

chevron_right


Java

filter_none

edit
close

play_arrow

link
brightness_4
code

// 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 multiply(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;
        multiply(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.

chevron_right


Python3

filter_none

edit
close

play_arrow

link
brightness_4
code

# Python 3 program for subtraction 
# of matrices
  
N = 4
  
# This function returns 1
# if A[][] and B[][] are identical
# otherwise returns 0
def multiply(A, B, C):
      
    for i in range(N):
        for j in range(N):
            C[i][j] = A[i][j] - B[i][j] 
  
# Driver Code
A = [ [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
      
multiply(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.

chevron_right


C#

filter_none

edit
close

play_arrow

link
brightness_4
code

// C# program for subtraction of matrices 
using System;
  
class GFG
{
static int N = 4;
  
// This function subtracts B[][] 
// from A[][], and stores 
// the result in C[][] 
public static void multiply(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 = 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;
    multiply(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

chevron_right


PHP

filter_none

edit
close

play_arrow

link
brightness_4
code

<?php
// This function subtracts B[][] 
// from A[][], and stores the 
// result in C[][]
function multiply(&$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));
  
multiply($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
?>

chevron_right


Output:

Result matrix is
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0

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).

Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above



My Personal Notes arrow_drop_up



Article Tags :
Practice Tags :


Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.