在二维数组上查找特定索引

finding a specific index on a two dimensional array

我正在创建一个井字游戏并将棋盘编号为 1-x(它是一个动态棋盘,用户可以选择多少行和多少列)。然后我向用户询问他们希望选择的图块的编号,但我不确定如何获取与图块相关的数组(二维)索引。没有它们,我无法将图块从数字更改为 X 或 O

到目前为止我已经尝试过的事情 Row = (move - 1) % size (因为行和列必须相同) Col = (move - 1 % size

它似乎并不总是有效,例如 5x5 列中的 23。它的索引是 [4,2] 但是当我将它们插入我的方程式时我得到 5.75

假设第一行有数字1, 2, ..., numberOfColumns,第二行有数字numberOfColumns + 1, numberOfColumns + 2, ..., 2 * numberOfColumns等等,你可以这样做:

如果用户输入数字 N 那么你可以说

int row = (N - 1) / numberOfColumns;
int column = (N - 1) % numberOfColumns;

rowcolumn 将是从零开始的索引)。