How can i reverse both full diagonal rows(top left to bottom right and top right to bottom left) of a 2d array? (in java) eg 21 26 31 36 41 46 51 56 61 66 71 76 81 86 91 96 to: 96 26 31 81 41 71 66 56 61 51 46 76 36 86 91 21
The other algorithm didn't work?
only reversed the corners, not the full diagonal row
Hmm, it works fine for me, testing it out with your values and different-sized arrays.
hmmmmm, weird sorry. do you mind posting it again? (im on a different computer)
Sure, code is: /** * Method that inverts diagonals * * @param array */ public static void reverseDiagonals(int array[][]){ for(int i = 0; i < array.length / 2; i++){ // We only need to go through half the array int j = array[0].length - 1; // This variable will work the array backwards int temp = array[i][i]; // This will keep temporary value array[i][i] = array[j - i][j - i]; array[j - i][j - i] = temp; temp = array[i][j - i]; array[i][j - i] = array[j - i][i]; array[j - i][i] = temp; } }
thank you so much, very much appreciated (works of course)
Join our real-time social learning platform and learn together with your friends!