Program for subtraction of matrices
Last Updated :
16 Feb, 2023
The below program subtracts of two square matrices of size 4*4, we can change N for a different dimension.
Implementation:
C++
#include <bits/stdc++.h>
using namespace std;
#define N 4
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];
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;
}
|
C
#include <stdio.h>
#define N 4
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];
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
class GFG
{
static final int N= 4 ;
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];
}
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 }};
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" );
}
}
}
|
Python3
N = 4
def subtract(A, B, C):
for i in range (N):
for j in range (N):
C[i][j] = A[i][j] - B[i][j]
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[:][:]
subtract(A, B, C)
print ( "Result matrix is" )
for i in range (N):
for j in range (N):
print (C[i][j], " " , end = '')
print ()
|
C#
using System;
class GFG
{
static int N = 4;
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];
}
}
}
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}
};
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" );
}
}
}
|
PHP
<?php
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 ];
}
$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" ;
}
?>
|
Javascript
<script>
var N = 4;
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];
}
var 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));
var 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>" );
}
</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 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?
Time complexity: O(n2).
Auxiliary space:O(n2). since n2 extra space has been taken.
Like Article
Suggest improvement
Share your thoughts in the comments
Please Login to comment...