谁能照亮我每行获得最大值

本文关键字:最大值 | 更新日期: 2023-09-27 18:31:13

这是我的代码:

我正在尝试获得每行的最大值,直到最后一行一切都很好。它显示 8,但应该是 4。

        int[,] vek = new int[,] { { 2, 5 }, { 4, 5 }, { 8, 5 }, { 4, 2 } };
        int sumL=0;
        double media = 0;
        int maxL = 0;
        maxL = vek [0,0];
        Console.WriteLine("'tL1'tL2'tTotal'tMedia");
        Console.WriteLine();
        for (int row = 0; row < vek.GetLength(0); row++)
        {
            Console.Write("{0}.'t", row + 1);
            for (int col = 0; col < vek.GetLength(1); col++) {
                Console.Write(vek[row, col] + "'t");
                sumL += vek[row, col];// SUMA
                media = (double)sumL / vek.GetLength(1); //Media
                if (maxL < vek[row,col])
                {
                    maxL = vek[row, col];
                }
            }
            Console.WriteLine(sumL + "'t" + media + "'t" + maxL);
            Console.WriteLine();
        }
        Console.ReadKey();
    }

谁能照亮我每行获得最大值

您需要在

每行的开头将maxL设置回 0(或者更好的是,int.MinValue)。简单地将其声明移动到外部 for 循环中将是一个很好的方法。

您的代码最多获得 5、5、8、8,因为,在没有重置 maxL 的情况下,它到目前为止获取最大行数,而不是独立获取每行的最大值。