Given two matrix A[][] and B[][] of same order m*n. The task is to find the intersection of both matrix as C, where:
- Cij = Aij if Aij = Bij
- C = “*”, otherwise.
Examples:
Input : A[N][N] = {{2, 4, 6, 8}, {1, 3, 5, 7}, {8, 6, 4, 2}, {7, 5, 3, 1}}; B[N][N] = {{0, 4, 3, 8}, {1, 3, 5, 7}, {8, 3, 6, 2}, {4, 5, 3, 4}}; Output : * 4 * 8 1 3 5 7 8 * * 2 * 5 3 *
As intersection of two set is a set which includes common elements to both set, similarly intersection of two matrix will include only corresponding common element and place “*” at the position of rest unmatching elements.
For finding the intersection of both matrix simply iterate over their size and print * if element at particular position in both matrix are not equal else print the element.
Below is the implementation of the above approach:
// CPP program to find intersection // of two matrices #include <bits/stdc++.h> #define N 4 #define M 4 using namespace std;
// Function to print the resultant matrix void printIntersection( int A[][N], int B[][N])
{ for ( int i = 0; i < M; i++) {
for ( int j = 0; j < N; j++) {
// print element value for equal
// elements else *
if (A[i][j] == B[i][j])
cout << A[i][j] << " " ;
else
cout << "* " ;
}
cout << "\n" ;
}
} // Driver Code int main()
{ int A[M][N] = { { 2, 4, 6, 8 },
{ 1, 3, 5, 7 },
{ 8, 6, 4, 2 },
{ 7, 5, 3, 1 } };
int B[M][N] = { { 2, 3, 6, 8 },
{ 1, 3, 5, 2 },
{ 8, 1, 4, 2 },
{ 3, 5, 4, 1 } };
printIntersection(A, B);
return 0;
} |
// Java program to find intersection // of two matrices import java.io.*;
class GFG {
static int N = 4 ;
static int M = 4 ;
// Function to print the resultant matrix static void printIntersection( int A[][], int B[][])
{ for ( int i = 0 ; i < M; i++) {
for ( int j = 0 ; j < N; j++) {
// print element value for equal
// elements else *
if (A[i][j] == B[i][j])
System.out.print(A[i][j] + " " );
else
System.out.print( "* " );
}
System.out.println( " " );
}
} // Driver Code public static void main (String[] args) {
int A[][] = { { 2 , 4 , 6 , 8 },
{ 1 , 3 , 5 , 7 },
{ 8 , 6 , 4 , 2 },
{ 7 , 5 , 3 , 1 } };
int B[][] = { { 2 , 3 , 6 , 8 },
{ 1 , 3 , 5 , 2 },
{ 8 , 1 , 4 , 2 },
{ 3 , 5 , 4 , 1 } };
printIntersection(A, B);
}
} // This code is contributed by anuj_67.. |
# Python 3 program to find intersection # of two matrices N, M = 4 , 4
# Function to print the resultant matrix def printIntersection(A, B) :
for i in range (M) :
for j in range (N) :
# print element value for equal
# elements else *
if (A[i][j] = = B[i][j]) :
print (A[i][j], end = " " )
else :
print ( "* " , end = " " )
print ()
# Driver Code if __name__ = = "__main__" :
A = [ [ 2 , 4 , 6 , 8 ],
[ 1 , 3 , 5 , 7 ],
[ 8 , 6 , 4 , 2 ],
[ 7 , 5 , 3 , 1 ] ]
B = [ [ 2 , 3 , 6 , 8 ],
[ 1 , 3 , 5 , 2 ],
[ 8 , 1 , 4 , 2 ],
[ 3 , 5 , 4 , 1 ] ]
printIntersection(A, B)
# This code is contributed by Ryuga |
// C# program to find intersection // of two matrices using System;
class GFG {
static int N = 4;
static int M = 4;
// Function to print the resultant matrix static void printIntersection( int [,]A, int [,]B)
{ for ( int i = 0; i < M; i++) {
for ( int j = 0; j < N; j++) {
// print element value for equal
// elements else *
if (A[i,j] == B[i,j])
Console.Write(A[i,j] + " " );
else
Console.Write( "* " );
}
Console.WriteLine( " " );
}
} // Driver Code public static void Main () {
int [,]A = { { 2, 4, 6, 8 },
{ 1, 3, 5, 7 },
{ 8, 6, 4, 2 },
{ 7, 5, 3, 1 } };
int [,]B = { { 2, 3, 6, 8 },
{ 1, 3, 5, 2 },
{ 8, 1, 4, 2 },
{ 3, 5, 4, 1 } };
printIntersection(A, B);
}
} // This code is contributed by inder_verma.. |
<?php // PHP program to find intersection // of two matrices // Function to print the resultant matrix function printIntersection( $A , $B )
{ $N = 4; $M = 4;
for ( $i = 0; $i < $M ; $i ++)
{
for ( $j = 0; $j < $N ; $j ++)
{
// print element value for equal
// elements else *
if ( $A [ $i ][ $j ] == $B [ $i ][ $j ])
echo $A [ $i ][ $j ] . " " ;
else
echo "* " ;
}
echo "\n" ;
}
} // Driver Code $A = array ( array (2, 4, 6, 8 ),
array (1, 3, 5, 7 ),
array (8, 6, 4, 2 ),
array (7, 5, 3, 1 ) );
$B = array ( array (2, 3, 6, 8 ),
array (1, 3, 5, 2 ),
array (8, 1, 4, 2 ),
array (3, 5, 4, 1 ) );
printIntersection( $A , $B );
// This code is contributed // by Akanksha Rai ?> |
<script> // Javascript program to find intersection // of two matrices var N = 4
var M = 4
// Function to print the resultant matrix function printIntersection( A, B)
{ for ( var i = 0; i < M; i++) {
for ( var j = 0; j < N; j++) {
// print element value for equal
// elements else *
if (A[i][j] == B[i][j])
document.write( A[i][j] + " " );
else
document.write( "* " );
}
document.write( "<br>" );
}
} // Driver Code var A = [ [ 2, 4, 6, 8 ],
[ 1, 3, 5, 7 ],
[ 8, 6, 4, 2 ],
[ 7, 5, 3, 1 ] ];
var B = [ [ 2, 3, 6, 8 ],
[ 1, 3, 5, 2 ],
[ 8, 1, 4, 2 ],
[ 3, 5, 4, 1 ] ];
printIntersection(A, B); </script> |
2 * 6 8 1 3 5 * 8 * 4 2 * 5 * 1
Complexity Analysis:
- Time Complexity: O(M * N)
- Auxiliary Space: O(1)