Given two matrices A and B of same size, the task to add them in Java.
Examples:
Input: A[][] = {{1, 2}, {3, 4}} B[][] = {{1, 1}, {1, 1}} Output: {{2, 3}, {4, 5}} Input: A[][] = {{2, 4}, {3, 4}} B[][] = {{1, 2}, {1, 3}} Output: {{3, 6}, {4, 7}}
Approach:
- Take the two matrices to be added
- Create a new Matrix to store the sum of the two matrices
- Traverse each element of the two matrices and add them. Store this sum in the new matrix at the corresponding index.
- Print the final new matrix
Below is the implementation of the above approach:
Java
// Java program for addition of 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 add the two matrices
// and store in matrix C
static int [][] add( 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 = 4 ;
int A[][] = { { 1 , 1 , 1 , 1 },
{ 2 , 2 , 2 , 2 },
{ 3 , 3 , 3 , 3 },
{ 4 , 4 , 4 , 4 } };
// Print the matrices A
System.out.println( "\nMatrix A:" );
printMatrix(A, size, size);
int B[][] = { { 1 , 1 , 1 , 1 },
{ 2 , 2 , 2 , 2 },
{ 3 , 3 , 3 , 3 },
{ 4 , 4 , 4 , 4 } };
// Print the matrices B
System.out.println( "\nMatrix B:" );
printMatrix(B, size, size);
// Add the two matrices
int C[][] = add(A, B, size);
// Print the result
System.out.println( "\nResultant Matrix:" );
printMatrix(C, size, size);
}
} |
Output:
Matrix A: 1 1 1 1 2 2 2 2 3 3 3 3 4 4 4 4 Matrix B: 1 1 1 1 2 2 2 2 3 3 3 3 4 4 4 4 Resultant Matrix: 2 2 2 2 4 4 4 4 6 6 6 6 8 8 8 8
Time Complexity: O(N2), where N is the row or column number of the matrix
Auxiliary Space: O(N2)