📄 number.cpp
字号:
#include<iostream.h>
#include<fstream.h>
#include<math.h>
#include<stdlib.h>
void get(double[100][100],int &);
void work(double[100][100],int);
void pr(double[100][100],int);
void main()
{
double x[100][100];
int n;
get(x,n);
work(x,n);
pr(x,n);
}
void get(double x[100][100],int &n)
{
ifstream in("input.txt");
in>>n;
for(int i=0;i<n;i++)
for(int j=0;j<n+1;j++)
in>>x[i][j];
}
void work(double x[100][100],int n)
{
int q[100],p,i,j,k;
double min,l;
for(i=0;i<n;i++)
q[i]=0;
for(k=0;k<n;k++)
{
p=-1;
min=10000;
for(i=0;i<n;i++)
if (!q[i] && x[i][k]!=0 && min-1e-10>fabs(x[i][k]))
{
min=fabs(x[i][k]);
p=i;
}
if (p==-1)
{
ofstream out("output.txt");
out<<"这个方程组无解或有无穷个解。"<<endl;
}
else
q[p]=1;
for(i=0;i<n;i++)
if (i!=p)
{
l=x[i][k]/x[p][k];
for(j=0;j<n+1;j++)
x[i][j]=x[i][j]-l*x[p][j];
}
}
}
void pr(double x[100][100],int n)
{
ofstream out("output");
for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
if (fabs(x[i][j])>1e-10)
{
out<<"x["<<i+1<<"]="<<x[i][n]/x[i][j]<<endl;
break;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -