最近複習行列式知識的時候,發現如何求解數字行列式的值比較重要,寫了乙個通過基本行變換把行列式變換為上三角行列式,然後利用對角線求值:
using system;
using system.collections.generic;
using system.linq;
using system.text;
using system.threading.tasks;
,,,};
int n = 4;
double temp = 1;
show(date,n);
int k = 1;
for (int p = 0; p < n; p++)
}k++;
}console.writeline("***********************************");
show(date,n);
double sum = 1;
for(int i=0;ifor(int j=0;jconsole.writeline("the value of det is:" + sum);
}static void show(double [,]date,int n)
}}}/*
在vs2013中執行結果為:
1 1 3 1
1 2 4 8
1 3 3 27
1 4 -3 64
***********************************
1 1 3 1
0 1 1 7
0 0 -2 12
0 0 0 -12
the value of det is:24
請按任意鍵繼續. . .
*/
求行列式的值
肯定要用遞迴,肯定要用陣列 用乙個二維陣列來表示這個矩陣,但是引數傳遞的時候我們不能確定這個矩陣的行數列數,所以編譯器會報錯 所以定義乙個一維陣列來模擬這個行列式,而一維陣列作為引數傳遞給函式時又不用指定大小,符合我們的需要。同時我們定義乙個結構體來表示這個余子式 typedef struct yu...
用C語言程式設計遞迴求行列式的值
include stdio.h include mem.h define isdebug 0 int iroworcol void readmatrix int ipmatrixread,int iroworcol4read void writematrix int ipmatrixwrite,in...
計算行列式的值
include include define max 9 定義最大為9階行列式 int fun int n,int a max max 函式宣告 int main 定義行列式 scanf d n 讀入階數 while n 0 輸入為0時退出程式 printf d n fun n,a scanf d ...