我有一个大2D数组,我想在较小的2D中更改值。我不能只是得到一些结果。 我有类似的东西(对于16x16数组f.e。)
int Down8 = 0;
int Right8 = 0;
for (int Down = 0; Down < 16; Down+8)
{
for (int Right = 0; Right < 16; Right+8)
{
Right8 = Right;
Down8 = Down;
for (int i = 0; i < 8; i++)
{
for (int j = 0; j < 8; j++)
{
matrixZ[j][i] = TEST[Right8][Down8];
Right++;
}
Down++;
Right8 = Right;
}
dctTransform(matrixZ);
for (int i = 0; i < 8; i++)
{
for (int j = 0; j < 8; j++)
{
matrixZ[j][i] = matrixZ[j][i] / Quant50[j][i];
}
}
zigZagMatrix(matrixZ, 8, 8);
}
}
对于2D 16x16,我的函数zigZagMatrix应将4行返回到文件中(因为16x16数组具有4个8x8数组),但仅返回2。640x480数组应返回4800行(640/8 * 480/8),返回60。 我在哪里瞎/错了? 我拥有的所有功能都适用于8x8数组,因此所有都是循环问题。