如何在整个2D数组中查找最大值(处理)

时间:2018-10-13 19:15:48

标签: loops multidimensional-array processing

我有一个2D数组,上面分配了随机值。我正在寻找在此2D数组中的最大值,因此可以将其显示为文本。

我试图使用此循环来执行此操作,但是,它只给我数组中的最后一个值。

  for (iRow=0; iRow<10; iRow++)
  {
    for (iCol=0; iCol<4; iCol++)
    {
      iHighestMark=0;

      if (iArray[iRow][iCol]>iHighestMark)
      { 
        iHighestMark=iArray[iRow][iCol];

      }
    }
  }

任何建议将不胜感激:)

2 个答案:

答案 0 :(得分:1)

正如p。 phidot 所说,您需要初始化变量 outside 进行循环,否则,每次程序执行该操作时,最大值将重置为零。环。新代码解决了该问题,但是如果矩阵中的所有数字均为负,我建议在代码中进行以下更改:

iHighestMark = Integer.MIN_VALUE;

for (iRow = 0; iRow < 10; iRow++) {

   for (iCol = 0; iCol < 4; iCol++) {

      if (iArray[iRow][iCol]>iHighestMark) {

         iHighestMark=iArray[iRow][iCol];

      }
   }
}

答案 1 :(得分:0)

 iHighestMark=0;

 for (iRow=0; iRow<10; iRow++)
  {
    for (iCol=0; iCol<4; iCol++)
    {

      if (iArray[iRow][iCol]>iHighestMark)
      { 
        iHighestMark=iArray[iRow][iCol];

      }
    }
  }