package com.learning.ds.matrices; /** * Created by Rajdeep on 27/1/14. */ public class MatrixAdditionDemo { public static void main(String[] args){ int[][] arr1 = {{1,2,3},{4,2,6}}; int[][] arr2 = {{10,20,30},{40,50,60}}; System.out.println("Matrix A:"); for(int i=0; i < arr1.length; i++){ for(int j=0; j < arr1[i].length; j++){ System.out.print(arr1[i][j] + " "); } System.out.println(); } System.out.println("Matrix B:"); for(int i=0; i < arr2.length; i++){ for(int j=0; j < arr2[i].length; j++){ System.out.print(arr2[i][j] + " "); } System.out.println(); } System.out.println("Addition of A and B:"); int[][] tempArr = addMatrices(arr1,arr2); if(tempArr!=null){ for(int i=0; i < tempArr.length; i++){ for(int j=0; j < tempArr[i].length; j++){ System.out.print(tempArr[i][j] + " "); } System.out.println(); } } } //add the matrices private static int[][] addMatrices(int[][] m1, int[][] m2){ //check size if(!ofSameSize(m1, m2)){ System.out.println("[Error] The matrices' dimension in operation do not match!"); return null; } int len1 = m1.length; int[][] tempArr = new int[2][3]; for(int i=0; i < tempArr.length; i++){ for(int j=0; j < tempArr[i].length; j++){ tempArr[i][j] = m1[i][j] + m2[i][j]; } } return tempArr; } //for adding, the size must be same private static boolean ofSameSize(int[][] m1, int[][] m2) { int len1 = m1.length; int len2 = m2.length; boolean check = true; if(len1==len2 & len1!=0){ //System.out.println("length is: " + len1 + " and " + len2); for(int i=0; i < len1; i++){ if(!(m1[i].length == m2[i].length)){ check = false; } } } else check = false; return check; } }Sample output 1:
Matrix A:
1 2 3
4 2 6
Matrix B:
10 20 30
Addition of A and B:
[Error] The matrices' dimension in operation do not match!
Sample output 2:
Matrix A:
1 2 3
4 2 0
Matrix B:
10 20 30
11 5 3
Addition of A and B:
11 22 33
15 7 3
No comments:
Post a Comment
Liked or hated the post? Leave your words of wisdom! Thank you :)