[問題] 嘗試用new作二維陣列結果上傳RE
看板C_and_CPP (C/C++)作者tw00088437 (喵貓 loves fish)時間16年前 (2009/12/03 01:07)推噓1(1推 0噓 3→)留言4則, 3人參與討論串1/1
遇到的問題: (題意請描述清楚)
執行時發生錯誤 (SIGABRT)(6)!!
系統呼叫 abort 函式!!
可能的原因為取用了超過string長度的位置、指標錯誤或 overflow。terminate called
after throwing an instance of 'std::bad_alloc'
what(): St9bad_alloc
sh: line 1: 1347 已經終止
希望得到的正確結果:
http://zerojudge.tw/ShowProblem?problemid=b024
這是原題
程式跑出來的錯誤結果:
開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux)
dev c++
有問題的code: (請善用置底文標色功能)
#include<iostream>
#define m 10001
#define n 20001
using namespace std;
int main()
{
int *ans = new int[m*n];
for(int i = 1; i < m; i++)
{
*(ans + n*i ) = 1;
}
for(int i=1;i<m;i++)
for(int j=1;j<=2*i;j++)
{
*(ans + n*i + j) += ( *(ans + n*(i-1) + j) + *(ans + n*i + j-1) );
if(*(ans + n*i + j)>10000)
*(ans + n*i + j)%=10000;
}
int c;
while(cin>>c)
{
if(!c)
break;
cout<<*(ans+ c*n + c*2)<<endl;
}
delete [] ans;
return 0;
}
補充說明:
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.228.105.23
推
12/03 01:17, , 1F
12/03 01:17, 1F
→
12/03 01:17, , 2F
12/03 01:17, 2F
→
12/03 01:25, , 3F
12/03 01:25, 3F
→
12/03 01:27, , 4F
12/03 01:27, 4F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章