Given the numbers in the next grid (from 1 to 36), how can I determine their coordinates (x, y) in the grid?
| 0 1 2 3 4 5 6 7 8 ------------------------------ 0| 1 2 3 4 5 6 7 8 9 1| 10 11 12 13 14 15 16 17 18 2| 19 20 21 22 23 24 25 26 27 3| 28 29 30 31 32 33 34 35 36
i.e. I want to get the following:
| 0 1 2 8 ------------------------------ 0| (0,0) (1,0) (2,0) ... (8,0) 1| (0,1) (1,1) (2,1) ... (8,1) 2| (0,2) (1,2) (2,2) ... (8,2) 3| (0,3) (1,3) (2,3) ... (8,3)
I tried:
x = number%9-1; y = number/9;
which works for all cases except those indicated in the last column on the right.
So I came up with:
if (number%9==0) { x = 8; y = number/9-1; } else{ x = number%9-1; y = number/9; }
My question is: is there a smarter way to do this?
source share