2017-08-12 129 views
-1

我是新來的編碼。當我在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; 
} 

回答

-1

總陣列大小可以大到10^5 = 10,000是最大值。 所以int a[100][100]是最好的,你可以得到。您可以使用vector<int>而不是2維數組。它有更多的好處,易於使用,並有[]運營商。

此外,我不確定該程序的目的是什麼,因此我無法優化您的代碼並使其更優雅。如果你能更好地解釋它,我可能有一個想法讓它變得更好。