Sometimes you may need to transpose a matrix. For example while working on linear algebra. The main logic is writing the elements in matrix’s row as a column.
I choose Java to do this however you can use any language. If even the syntax changes, the main logic always will be the same.
Main method
Scanner sc = new Scanner(System.in); System.out.println("Row number:"); int row = sc.nextInt(); System.out.println("Column number:"); int col = sc.nextInt(); int[][] arr = new int[row][col]; for(int i = 0; i < arr.length; i++){ for(int j = 0; j < arr[0].length; j++){ System.out.println("Enter the arr["+i+"]["+j+"] element:"); arr[i][j] = sc.nextInt(); } } System.out.println(); print2dArr(arr); System.out.println(); print2dArr(tranpose(arr)); sc.close(); Transpose Method
static int[][] tranpose(int[][] arr){ int[][] ret = new int[arr.length][arr[0].length]; for(int i = 0; i < arr.length; i++){ for(int j = 0; j < arr[0].length; j++){ ret[j][i] = arr[i][j]; } } return ret; } Print Method
static void print2dArr(int[][] arr){ for(int i = 0; i < arr.length; i++){ for(int j = 0; j < arr[0].length; j++){ System.out.print(arr[i][j]+" "); } System.out.println(); } } Output
Row number: 3 Column number: 3 Enter the arr[0][0] element: 1 Enter the arr[0][1] element: 6 Enter the arr[0][2] element: 2 Enter the arr[1][0] element: 7 Enter the arr[1][1] element: 8 Enter the arr[1][2] element: 3 Enter the arr[2][0] element: 2 Enter the arr[2][1] element: 3 Enter the arr[2][2] element: 1 1 6 2 7 8 3 2 3 1 1 7 2 6 8 3 2 3 1
Top comments (0)