我的代码上的运行时错误 sigsegv



我是编码新手。当我在codecheff中提交我的代码时,它会给出"运行时错误(SIGSEGV("。我不知道有什么问题,请帮忙。提前谢谢。 我是编码新手。当我在codecheff中提交我的代码时,它会给出"运行时错误(SIGSEGV("。我不知道有什么问题,请帮忙。提前谢谢。

#include <iostream>
using namespace std;
int main()
{
int n,m,k,i,l,j,a[100000][100000],r,c,s,d;
cin >> n >> m >> k;
cout<<endl;
for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++)
{
cin>>a[i][j];
cout<<" ";
}
cout<<endl;
}
for(l=1;l<=k;l++)
{
cin >> r >> c >> s >> d;
for(i=r;i<=r+s-1;i++)
{
for(j=c;j<=c+s-1;j++)
{
a[i][j]=a[i][j]+d;
}
}
} 
for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++)
{
cout<<a[i][j];
cout<<" ";
}
cout<<endl;
}
return 0;
}

数组总大小可以大到 10^5 = 10,000 是最大值。 所以int a[100][100]是你能得到的最好的。

此外,您应该使用vector<int>而不是 2 维数组。它具有更多优点,易于使用,并且具有[]运算符。

此外,我不确定该程序的目的是什么,因此我无法优化您的代码并使其更优雅。如果你能更好地解释它,我可能会有一个想法让它变得更好。

最新更新