将一维数组的索引转换为二维数组

Jam*_*ani 0 c++ arrays indexing matrix

如何将一维数组的索引转换为二维数组?我知道如何将 2D 数组转换为 1D (i*the size of row+j)。我想要相反的。

Tho*_*Voß 5

您需要知道的是: 2D 数组应该有多少列: 假设您有一个 20 列和 10 行的数组 (array[20,10]):

int index  = 47;
int numberOfColumns = 20;
int column = index % numberOfColumns;
int row    = index / numberOfColumns;

// column == 7
// row    == 2
Run Code Online (Sandbox Code Playgroud)