/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
static void fillData(char[][] iArray)
{
final int SIZE = iArray[0].length;
char cChar = 'a';
for(int i=0; i<SIZE; i++)
{
for(int j=0; j<SIZE; j++)
{
iArray[i][j] = cChar++;
}
}
}
static void display(char[][] iArray)
{
final int SIZE = iArray[0].length;
for(int i=0; i<SIZE; i++)
{
for(int j=0; j<SIZE; j++)
{
System.
out.
print(iArray
[i
][j
] + " | "); }
}
}
/*
//Old version
static void reverseDiagonal(char[][] iArray)
{
final int SIZE = iArray[0].length;
for(int i=0; i< SIZE/2; i++)
{
char tTemp = iArray[i][i];
iArray[i][i] = iArray[SIZE-i-1][SIZE-i-1];
iArray[SIZE-i-1][SIZE-i-1] = tTemp;
tTemp = iArray[i][SIZE-i-1];
iArray[i][SIZE-i-1] = iArray[SIZE-i-1][i];
iArray[SIZE-i-1][i] = tTemp;
}
}*/
// New version
static void reverseDiagonal(char[][] iArray)
{
final int SIZE = iArray[0].length;
final int len = SIZE/2;
for(int i=0; i< len; i++)
{
final int j = i+1;
char tTemp = iArray[i][i];
iArray[i][i] = iArray[SIZE-j][SIZE-j];
iArray[SIZE-j][SIZE-j] = tTemp;
tTemp = iArray[i][SIZE-j];
iArray[i][SIZE-j] = iArray[SIZE-j][i];
iArray[SIZE-j][i] = tTemp;
}
}
{
final int SIZE = 4;
char[][] iArray = new char[SIZE][SIZE];
fillData(iArray);
display(iArray);
reverseDiagonal(iArray);
display(iArray);
}
}