在二维数组上查找特定索引
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;
(row
和 column
将是从零开始的索引)。
我正在创建一个井字游戏并将棋盘编号为 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;
(row
和 column
将是从零开始的索引)。