📄 hls.txt
字号:
////////////////////////////////////////////////////////////////////////
//
// 团结紧张,严肃活泼 -------吴炜
//
// weiweijiuzaizhe@gmail.com
//
// 一个行列式计算的程序
/////////////////////////////////////////////////////////////////////////
#include<iostream>
#define MAX_SIZE 100
using namespace std;
void input(double line[MAX_SIZE][MAX_SIZE], int& n)
{
int i,j;
cout<<"please input number in your determinant: ";
cin>>n;
cout<<endl;
for(i=1;i<=n;i++)
{
cout<<"the "<<i<<"th line: ";
for(j=1;j<=n;j++)
cin>>line[i][j];
cout<<endl;
}
}
void convert(int s,int i,double line[MAX_SIZE][MAX_SIZE],double result,int& n)
{
int j;
double stemp[MAX_SIZE];
for(j=i;j<=n;j++)
{
stemp[j]=line[s][j];
line[s][j]=line[i][j];
line[i][j]=stemp[j];
}
result = result*-1;
}
double output(double line[MAX_SIZE][MAX_SIZE],double result,int& n)
{
int i;
for(i=1;i<=n;i++)
result = result*line[i][i];
return result;
}
double hanglieshi(double line[MAX_SIZE][MAX_SIZE],int n )
{
int i,j;
double result=1.0;
int ii,si;
double temp;
for (i=1;i<=n-1;i++)
{
j=i;
if(line[i][j]==0)
{
for(si=i+1;si<=n;si++)
if(line[si][j]!=0) break;
if(si!=n+1)
convert(si,i,line,result,n);
else
break;
}
for(ii=i;ii<=n-1;ii++)
{
temp=line[ii+1][i]/line[i][i];
for(j=i;j<=n;j++)
line[ii+1][j]=line[ii+1][j]-line[i][j]*temp;
}
}
return output(line,result,n);
}
void main()
{
double line[MAX_SIZE][MAX_SIZE];
int n;
input(line ,n);
if( cout<<hanglieshi(line,n) == 0)
cout<<"YES";
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -