我在做一个数独游戏
我有9个3x3矩阵和一个大的9x9矩阵。我尝试的方法不工作,所以请帮助我:
void matrix_full_creation()
{
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
matrix_full[i][j]==matrix1[i][j];
matrix_full[i][j+3]=matrix2[i][j];
matrix_full[i][j+6]=matrix3[i][j];
matrix_full[i+3][j]=matrix4[i][j];
matrix_full[i+3][j+3]=matrix5[i][j];
matrix_full[i+3][j+3]=matrix6[i][j];
matrix_full[i+6][j]=matrix7[i][j];
matrix_full[i+6][j+3]=matrix8[i][j];
matrix_full[i+6][j+6]=matrix9[i][j];
}
}
}
3条答案
按热度按时间ivqmmu1c1#
让我们把你的任务分解成更小的部分。首先,写一个函数把你的小矩阵复制到特定的位置
所以如果你给i,j传递0,0...它应该把small的内容复制到大的9 x9矩阵的左上角的3x 3子矩阵中。
当您完成此任务时,只需运行一个for循环(类似于您已经做过的循环)
好建议:分而治之!
lnlaulya2#
n
和该子矩阵内的一对索引,即行索引i
和列索引j
,以及(0,0)
,(0,1)
...,(3,3)
,Demo(https://godbolt.org/z/o9j5qY4Yh)
q5lcpyga3#
我已更正您的代码。请尝试以下操作:
希望这有帮助!:D