处理大型2D阵列的小型2D零件并在其周围移动

时间:2018-09-19 22:21:48

标签: c++ arrays

我有一个大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数组,因此所有都是循环问题。

0 个答案:

没有答案