📜  c# max in 2d array row - C# (1)

📅  最后修改于: 2023-12-03 15:13:49.349000             🧑  作者: Mango

C#中求二维数组行最大值

有一个 $n \times m$ 的二维数组,你需要求出每一行的最大值,包括最大值的索引。以下是一个示例数组:

int[,] arr = new int[,]
{
    {1, 2, 3},
    {4, 5, 6},
    {7, 8, 9}
};

对于这个数组,你需要得到如下结果:

Row 0: max = 3, index = 2
Row 1: max = 6, index = 2
Row 2: max = 9, index = 2
实现

我们可以使用一个循环来迭代每一行,然后再在每一行内部使用另一个循环来找到该行中的最大值和索引。以下是一段实现代码:

for (int i = 0; i < arr.GetLength(0); i++)
{
    int max = int.MinValue;
    int index = -1;
    for (int j = 0; j < arr.GetLength(1); j++)
    {
        if (arr[i, j] > max)
        {
            max = arr[i, j];
            index = j;
        }
    }
    Console.WriteLine($"Row {i}: max = {max}, index = {index}");
}

这段代码首先使用 GetLength(0) 方法获取数组的行数,然后在外部使用一个循环迭代每一行。在每一行内部,使用 GetLength(1) 方法获取该行的列数,然后再使用一个循环找到该行中的最大值和索引。

在找到最大值后,将其保存在 max 变量中,并将其索引保存在 index 变量中。最后,使用 Console.WriteLine 方法打印出结果。

总结

在本文中,我们学习了如何在 C# 中求二维数组的行最大值。我们使用一个循环迭代每一行,在每一行内部使用另一个循环找到该行中的最大值和索引。这种方法适用于任何大小的二维数组。