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

📄 n元一次方程.cpp

📁 用c++语言用数值计算方法解n元一次方程组。
💻 CPP
字号:
#include <iostream.h>
#include <stdio.h>

void Make2DArray(float **&y,int rows,int cols)
{
	y=new float*[rows];
    for(int z=0;z<rows;z++)
	    y[z]=new float[cols];
}                        //构造动态二维数组函数

void Make1DArray(float *&u,int v)
{u=new float[v];}        //构造动态一维数组函数

void main()
{ int n;
  int i,j,k,u,v,p,q;
  float **a,**m; 
  float *b,*x;           //定义变量

         

 cout<<"Please enter the number n:";
 cin>>n;
 cout<<endl;             //输入维数n

Make2DArray(a,n,n);      //给动态二维数组a[n][n]分配内存空间
Make2DArray(m,n,n);      //给动态二维数组m[n][n]分配内存空间
Make1DArray(b,n);        //给动态一维数组b[n]分配内存空间
Make1DArray(x,n);        //给动态一维数组x[n]分配内存空间

 
 cout<<"Please enter the array a["<<n<<"]["<<n<<"]:";
 for(u=0;u<n;u++)
 {
	 for(v=0;v<n;v++)
	 cin>>a[u][v];
 }                       //依次输入a[n][n]   

 for(u=0;u<n;u++)
 {
	 for(v=0;v<n;v++)
	 printf("%15.4f",a[u][v]);
	 cout<<endl;
 }                       //依次输出a[n][n]

 cout<<"Please enter the array b["<<n<<"]:";
 for(p=0;p<n;p++)
	 cin>>b[p];          //依次输入b[n] 
 for(q=0;q<n;q++)
 {
	 printf("%15.4f",b[q]);
     cout<<endl;
 }                       //依次输出b[n]

 for(k=0;k<n;k++)
 {
	 for(i=k+1;i<n;i++)
	 {
		 m[i][k]=a[i][k]/a[k][k];
		 for(j=k+1;j<n;j++)
		    a[i][j]-=m[i][k]*a[k][j];

		 b[i]-=m[i][k]*b[k];
		 
	 }
 }                       //求解n元一次方程


 cout<<"The equation's solution is:"<<endl;
 
 x[n-1]=b[n-1]/a[n-1][n-1];
 cout<<"x["<<(n-1)<<"]="<<x[n-1];
 cout<<endl;             //输出解x[n-1]
 
}


⌨️ 快捷键说明

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