loops - 如何在整个二维数组中找到最大值(处理)
问题描述
我有一个分配有随机值的二维数组。我正在寻找此二维数组中的最大值,以便将其显示为文本。
我试图使用这个循环来做到这一点,但是,它只给了我数组中的最后一个值。
for (iRow=0; iRow<10; iRow++)
{
for (iCol=0; iCol<4; iCol++)
{
iHighestMark=0;
if (iArray[iRow][iCol]>iHighestMark)
{
iHighestMark=iArray[iRow][iCol];
}
}
}
任何建议将不胜感激 :)
解决方案
作为第 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];
}
}
}
推荐阅读
- css-animations - 有没有办法阻止我的 CSS 关键帧动画开始,直到该元素在视图中滚动?
- jakarta-ee - Java EE 不同的页面和服务认证机制
- google-drive-api - 使用 Google Drive API 编辑其他用户的文件
- angular - 需要编写 ngRx 选择器来选择给定日期范围内的数据吗?
- c# - 验证不适用于 mvc 5 中的 Ajax 调用
- node.js - 无法获取生成的快速代码(来自 OpenAPI)以捕获查询参数中的错误
- docker - 无法在 Docker-Compose 中转发/映射内部端口
- splunk - Splunk 仪表板 - 搜索查询中的令牌
- python - 在 Python 中的列表项中查找字母
- javascript - AWS ScheduleExpression 无效