【发布时间】:2019-10-23 16:11:40
【问题描述】:
我有一个任务要求我找到位于“k”列右侧的最大元素(据我所知,我需要在 k+1 列中找到最大值)。我显然做错了,因为当我运行代码时,最大值等于 0。一定是我遗漏了一个错误,因此我们将不胜感激。 这是我的代码:
#include <iostream>
#include <algorithm>
#include <iomanip>
using namespace std;
int main() {
int n,m,k;
int max=-1000001;
int a[10][10];
cin>>n>>k;
m=n;
for (int i=0;i<n;i++) {
for (int j=0;j<m;j++) {
cin>>a[i][j];
}
}
for(int i=0;i<n;i++)
{
for (int j=0;j<m+1;j++)
{
if(a[i][j]>max && a[i][j]!=max && j==k+1)
max=a[i][j];
}
}
if (k>=m)
cout<<"No";
else
cout<<max;
}
这是输入:
3 2
1 2 3
5 5 2
6 3 4
这是我应该得到的输出:
4
【问题讨论】:
-
当您使用调试器运行此程序时,它的行为与您预期不同的第一个点是什么?
标签: c++ arrays algorithm for-loop max