运行时错误我的代码sigsegv
问题描述:
我是新来的编码。当我在codecheff中提交我的代码时,它给出了“运行时错误(SIGSEGV)”。我不知道有什么问题请帮忙。提前致谢。 我是新来的编码。当我在codecheff中提交我的代码时,它给出了“运行时错误(SIGSEGV)”。我不知道有什么问题请帮忙。提前致谢。运行时错误我的代码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维数组。它有更多的好处,易于使用,并有[]
运营商。
此外,我不确定该程序的目的是什么,因此我无法优化您的代码并使其更优雅。如果你能更好地解释它,我可能有一个想法让它变得更好。