首页 > 解决方案 > 如何在整个二维数组中找到最大值(处理)

问题描述

我有一个分配有随机值的二维数组。我正在寻找此二维数组中的最大值,以便将其显示为文本。

我试图使用这个循环来做到这一点,但是,它只给了我数组中的最后一个值。

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

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

      }
    }
  }

任何建议将不胜感激 :)

标签: loopsmultidimensional-arrayprocessing

解决方案


作为第 phidot说,您需要在 for 循环之外初始化变量,否则,每次程序通过循环时最大值将重置为零。新代码解决了这个问题,但如果矩阵中的所有数字都是负数,我建议在代码中进行以下更改:

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];

      }
   }
}

推荐阅读