为什么本地运行可以,说我运行错误?

王梓阳  •  9个月前


include

using namespace std; int main() {

long long m,n,x,y;
long long s,max=0;
cin>>m>>n;
s=m*n;
long long a[m][n];
for(int i=1;i<=m;i++)
{
	for(int j=1;j<=n;j++)
	{
		cin>>a[i][j];
	}
}
for(int i=1;i<=m;i++)
{
	for(int j=1;j<=n;j++)
	{
	    if(max<a[i][j])
	    {
	    	max=a[i][j];
	    	x=j;
	    	y=i;
		}
	}
}
cout<<max<<" "<<y<<" "<<x;
return 0;

}


评论:

问题:

1.max是关键字,变量名不能是max;

2.maxn初始化为-1e9,因为有负数。

3.数组开的小了,因为你下标是从1开始的。

改后如下:

#include<bits/stdc++.h> 
using namespace std; 
int main() 
{
	long long m,n,x,y;
	long long maxn=-1e9;
	cin>>m>>n;
	long long a[m+1][n+1];
	for(int i=1;i<=m;i++)
	{
		for(int j=1;j<=n;j++)
		{
			cin>>a[i][j];
		}
	}
	for(int i=1;i<=m;i++)
	{
		for(int j=1;j<=n;j++)
		{
		    if(maxn<a[i][j])
		    {
		    	maxn=a[i][j];
		    	x=j;
		    	y=i;
			}
		}
	}
	cout<<maxn<<" "<<y<<" "<<x;
	return 0;
}

mairuisheng  •  9个月前