Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 沿对角线对角扫描矩阵,寻找四个相邻数字的最大乘积,并将其表示为';s起始位置_C#_Arrays_Matrix_Multiplication - Fatal编程技术网

C# 沿对角线对角扫描矩阵,寻找四个相邻数字的最大乘积,并将其表示为';s起始位置

C# 沿对角线对角扫描矩阵,寻找四个相邻数字的最大乘积,并将其表示为';s起始位置,c#,arrays,matrix,multiplication,C#,Arrays,Matrix,Multiplication,好的,我有一个20x20的网格,我想对角扫描四个相邻数字的最大乘积。现在它不断地给我错误指数在边界之外,而如果我的循环条件是正确的,它就不应该超过边界;当行增加4时,列被逐个检查,这样我将一次沿着对角线精确地得到4个值。它通知我,对角线扫描的公式中有错误,但我不明白为什么。请记住,我不是在扫描主对角线(左或右),我是在尝试沿对角线扫描整个网格,我完全是编程新手。因此,如果有人能指出错误并加以解释,我将不胜感激 for (int c = 0; c <= 16; c +=4)

好的,我有一个20x20的网格,我想对角扫描四个相邻数字的最大乘积。现在它不断地给我错误指数在边界之外,而如果我的循环条件是正确的,它就不应该超过边界;当行增加4时,列被逐个检查,这样我将一次沿着对角线精确地得到4个值。它通知我,对角线扫描的公式中有错误,但我不明白为什么。请记住,我不是在扫描主对角线(左或右),我是在尝试沿对角线扫描整个网格,我完全是编程新手。因此,如果有人能指出错误并加以解释,我将不胜感激

for (int c = 0; c <= 16; c +=4)
        {
            for (int z = 0; c <= 16; z ++)
            {
                int productdiagonally = (matrix [c, z] * matrix [c+ 1 , z + 1] * matrix [c + 2, z + 2] * matrix [c + 3, z + 3]);

                if (productdiagonally > largestproductdiagonally)
                {
                    largestproductdiagonally = productdiagonally;

                    rowmaxdiagonally = c;

                    colmaxdiagonally = z;
                }
            }

        }

for(int c=0;c在内部循环的退出条件中使用了c而不是z

你需要:

for (int z = 0; z <= 16; z ++)

for(int z=0;z哇哦,这很简单,如果它直接与这个问题和答案相关,我不敢相信我错过了。否则,最好将它作为新问题发布,以确保它被更广泛的观众看到!好的,我将发布一个新问题,希望你也能提供帮助:D