C++ 将网格中的数字转换为相应的x、y坐标
给定以下网格中的数字(从1到36),如何确定它们在网格中的坐标(x,y)C++ 将网格中的数字转换为相应的x、y坐标,c++,algorithm,grid,C++,Algorithm,Grid,给定以下网格中的数字(从1到36),如何确定它们在网格中的坐标(x,y) | 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.我想获得的是以下信息: | 0 1
| 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.我想获得的是以下信息:
| 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)
我试过:
x = number%9-1;
y = number/9;
它适用于除右边最后一列中的情况之外的所有情况
于是我想到:
if (number%9==0) {
x = 8;
y = number/9-1;
}
else{
x = number%9-1;
y = number/9;
}
我的问题是,有没有更聪明的方法呢?Thiton比我快了几秒钟,所以删除了我的。谢谢!这确实有帮助:)
x = (number-1)%9;
y = (number-1)/9;