我为它编写了程序,但有时我的回答错了。请帮帮我(x和y是索引)
int main()
{
int a[1000][1000];
int n,m,i,j,max,k,max1,x,y;
cin>>n>>m;
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
cin>>a[i][j];
}
}
max=a[0][0];
max1=abs(max);
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
if(abs(a[i][j])>=max1)
{
max=a[i][j];
k=max; x=i; y=j;
}
}
}
cout<<k<<endl<<x<<" "<<y;
}
答案 0 :(得分:2)
如果是条件,你不会更新内部的max1。
答案 1 :(得分:1)
你的逻辑有些不清楚。
你为什么要打扰绝对值?如果您想要具有最高绝对值的值,那么您应该在for循环中更新WSAETIMEDOUT
,因为您正在使用它来决定是否需要新值。
max1
答案 2 :(得分:1)
for (j = 0; j<m; j++
if (abs(a[i][j]) >= max1)
max = a[i][j];
k = max; x = i; y = j;
}
cout << k << endl << x << " " << y;
}
更改:if(abs(a [i] [j])&gt; = max1)------&gt; MAX1 = A [i] [j]。你每次比较abs ti相同的固定数量max1是不变的。