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

📄 m_gs2.cpp

📁 用高斯消去法求方程组
💻 CPP
字号:
#include<iostream.h>
#include <stdlib.h> 
void main()
{
	int n,i,j,k;;
	cout<<"输入方程组组数:"<<endl;
    cin>>n;
//-----------------------------------动态定义数组x[n] a[n][n+1]
	float *x; 
    x=(float *)malloc(n*sizeof(float));

	float **a; 
    a= (float **)malloc( sizeof( float *) * n); 
    for (i=0; i<n; i++) 
	{ 
      a[i] = (float*)malloc( sizeof( float)*(n+1) ); 
	} 
//---------------------------------输入系数
for(int ii=0;ii<n;ii++)
 {
	cout<<"第"<<ii+1<<" 组数据"<<endl;
	for(int jj=0;jj<n+1;jj++)
	{
		cin>>a[ii][jj];
	}
 }
//---------------------------------高斯消元
	for(k=0;k<n-1;k++)
	{   
		for(i=k+1;i<n;i++)
		{
			float m=-a[i][k]/a[k][k];
			for(j=k+1;j<n+1;j++)
			{   
				a[i][j]=a[i][j]+a[k][j]*m;
			}
		}
	}
//---------------------------------回代
	for(i=n-1;i>=0;i--)
	{
		for(j=i+1;j<n;j++)
		{
			a[i][n]-=a[i][j]*x[j];
		}
		x[i]=a[i][n]/a[i][i];
	}
//---------------------------------输出结果
cout<<endl
    <<endl
    <<"最后结果:"<<endl;
	for(int loop=1;loop<=n;loop++)
	{
		cout<<"X"<<loop<<"="<<x[loop-1]<<endl;
	}

}

⌨️ 快捷键说明

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