HINT
Hi,
Well it took me a while to figure out as to how to approach this problem but as it turned out it is pretty straightforward. I divided the problem into two parts. First I printed out the elements up until the middle diagonal. And then the elements after that.
Here is the format of the numbers for 4 X 4 array
0,0 0,1 0,2 0,3
1,0 1,1 1,2 1,3
2,0 2,1 2,2 2,3
3,0 3,1 3,2 3,3
We can see a pattern here. First print the element 0,0.
Then -> 1,0 to 0,1 (i = 1 to i = 0 and j = 0 to j = 1)
Then -> 2,0 to 0,2 (i = 2 to i = 0 and j = 0 to j = 2)
Then -> 3,0 to 0,3 (i = 3 to i = 0 and j = 0 to j = 3)
So, basically as we are heading towards the main diagonal, we are increasing the value of i and at the same time running j from 0 to i.
Implementing this will get you the first 10 out of 16. For the rest of them, we have the same pattern again but this time its reverse
Then -> 3,1 to 1,3 (i = 3 to i = 1 and j = 1 to j = 3)
Then -> 3,2 to 2,3 (i = 3 to i = 2 and j = 2 to j = 3)
Then the last element 3,3
So, this just requires some clever manipulation of the for loops or while loops.