📄 fangchengzu.cpp
字号:
//高斯销元法计算A的行列式
/* a11X+a12Y=b1
a21X+a22Y=b2
input a11 a12 b1
a21 a22 b2*/
#include<iostream>
using namespace std;
void GETVALUE(int N){
double *A;
int n=N*N;
A=new double[n];
double X=1;
cout<<"请输入行列式,如二阶时输入:a11 a12 a21 a22\n";
for(int i=1;i<=n;i++){
cin>>A[i];
}
//////////////////////////////////////////////convert the matrix to uptriangle
for(int k=1;k<=N;k++)
for(int i=k+1;i<=N;i++){
double temp;
if(A[(i-1)*N+k]!=0){
temp=A[(i-1)*N+k]/A[(k-1)*N+k];
for(int j=k;j<=N;j++){
A[(i-1)*N+j]=A[(i-1)*N+j]-A[(k-1)*N+j]*temp;
}
}
else continue;
}
/////////////////////////////////////////////get the answer
for(int l=1;l<=N;l++){
X=X*A[(l-1)*N+l];
}
cout<<"行列式的值是:\t"<<X;
}
void main(){
int n;
cout<<"请输入行列式的阶数:\n";
cin>>n;
GETVALUE(n);
char a;
cin>>a;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -