📄 gauss2.cpp
字号:
#include <iostream.h>
#include <math.h>
double *gauss2(double **p1,double *p2,int n)
{
double **A=p1,*B=p2,max,temp1,temp2;
int line;
for(int k=1;k<n;k++)
{
max=A[k][k];line=k;
for(int i=k;i<=n;i++)
{
if(abs(max)<abs(A[i][k])) {max=A[i][k];line=i;}
}
for(i=1;i<=n;i++)
{
temp1=A[k][i];A[k][i]=A[line][i];A[line][i]=temp1;
}
temp2=B[k];B[k]=B[line];B[line]=temp2;
for(i=k+1;i<=n;i++)
{
double m=A[i][k]/A[k][k];
B[i]=B[i]-m*B[k];
for(int j=k+1;j<=n;j++)
A[i][j]=A[i][j]-m*A[k][j];
}
}
B[n]=B[n]/A[n][n];
for( k=n-1;k>0;k--)
{
double sum=0;
for (int j=k+1;j<=n;j++)
sum=sum+A[k][j]*B[j];
B[k]=(B[k]-sum)/A[k][k];
}
return B;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -