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); } } |
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)