⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gaosi.cpp

📁 数值分析中高斯算法的C++程序实现过程
💻 CPP
字号:
#include<iostream.h>
#include<math.h>
#include<stdio.h>
#include <iomanip.h>
void main()
{double sum1,x[3],m[3],d[3],a[3][3]={{0.012,0.01,0.167},{1,0.8334,5.91},{3200,1200,4.2}},c[3][3],b[3]={0.6781,12.1,981};
int i,j,k,ik,n=3;
//消元过程
	
for (k=0;k<=(n-2);k++)
{ik=k;
for(i=k;i<=(n-1);i++)
	 {if(fabs(a[ik][k])<fabs(a[i][k]))    //选ik
	 ik=i;}
for (j=k;j<=(n-1);j++)                        //交换k行与ik行
{c[k][j]=a[k][j];
a[k][j]=a[ik][j];
a[ik][j]=c[k][j];
d[k]=b[k];
b[k]=b[ik];
b[ik]=d[k];
}
for (i=k+1;i<=(n-1);i++)
{m[i]=a[i][k]/a[k][k];
for (j=k+1;j<=(n-1);j++)
{a[i][j]=a[i][j]-m[i]*a[k][j];}       //计算a,b
b[i]=b[i]-m[i]*b[k];
}
}

//cout<<setprecision(6)<<a[i][j]<<" ";
//cout<<b[i];

//回带过程
x[n-1]=b[n-1]/a[n-1][n-1];
for (k=(n-2);k>=0;k--)
{sum1=0;
for (j=k+1;j<=(n-1);j++)
{sum1=sum1+a[k][j]*x[j];
}
x[k]=(b[k]-sum1)/a[k][k];
}
for (i=0;i<=(n-1);i++)
cout<<x[i]<<" ";
cout<<endl;
getchar();
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -