Re: [問題] 請問我這個程式為什麼無法執行4階以上呢

看板C_and_CPP (C/C++)作者 (好吃)時間16年前 (2009/05/28 14:03), 編輯推噓0(002)
留言2則, 2人參與, 最新討論串2/2 (看更多)
#include <iostream> using namespace std; //輸入陣列,階數 double det(double *,int); int main() { double k[16] = {1,2,3,4,0,9,3,7,5,5,4,2,3,2,0,6}; cout << det(k,4) << endl; return 0; } double det(double *a,int m) { if(m==1) return a[0]; int n; for(n=0;(n<m)&&(a[n]==0);n++); if(n==m) return 0; double *b = new double[(m-1)*(m-1)],ans=0; for(int i=1;i<m;i++) for(int j=0,k=0;j<m;j++) if(j==n) continue; else{ b[(i-1)*(m-1)+k] = a[i*m+j]- a[j]*a[i*m+n]/a[n]; k++; } if(n%2==0) ans = a[n]*det(b,m-1); else ans = -a[n]*det(b,m-1); delete b; return ans; } 寫得很爛 將就一下吧QQ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.133.7.196

05/28 23:34, , 1F
delete b => delete[] b (小聲地 ...)
05/28 23:34, 1F

05/29 03:27, , 2F
喔呀 感謝:D
05/29 03:27, 2F
文章代碼(AID): #1A7YaxNp (C_and_CPP)
文章代碼(AID): #1A7YaxNp (C_and_CPP)