//解线性方程组
#include<iostream.h>
#include<iomanip.h>
#include<stdlib.h>
//----------------------------------------------全局变量定义区
const
int
Number=15;
//方程最大个数
double
a[Number][Number],b[Number],copy_a[Number][Number],copy_b[Number];
//系数行列式
int
A_y[Number];
//a[][]中随着横坐标增加列坐标的排列顺序,如a[0][0],a[1][2],a[2][1]...则A_y[]={0,2,1...};
int
lenth,copy_lenth;
//方程的个数
double
a_sum;
//计算行列式的值
char
* x;
//未知量a,b,c的载体
//----------------------------------------------函数声明区
void
input();
//输入方程组
void
print_menu();
//打印主菜单
int
choose ();
//输入选择
void
cramer();
//Cramer算法解方程组
void
gauss_row();
//Gauss列主元解方程组
void
guass_all();
//Gauss全主元解方程组
void
Doolittle();
//用Doolittle算法解方程组
int
Doolittle_check(
double
a[][Number],
double
b[Number]);
//判断是否行列式>0,若是,调整为顺序主子式全>0
void
xiaoqu_u_l();
//将行列式Doolittle分解
|