Re: [問題] 請問我這個程式為什麼無法執行4階以上呢
#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
05/28 23:34, 1F
→
05/29 03:27, , 2F
05/29 03:27, 2F
討論串 (同標題文章)
完整討論串 (本文為第 2 之 2 篇):
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章