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

📄 实验三

📁 数据结构2
💻
字号:
#include <iostream.h>
#include <stdlib.h>
#include <math.h>
#define N 100
void main()
{
	int i,j,n;
	float *x;
	cout<<"input the number of element n:";
	cin>>n;
    float a[N][N],b[N],c[N][N+1];
	cout<<"input the coefficient matrix"<<endl;
	for (i=0;i<n;i++)
		for (j=0;j<n;j++)
			cin>>a[i][j];
    cout<<"input constant"<<endl;
	for (i=0;i<n;i++)
		cin>>b[i];
	for (i=0;i<n;i++)
	{
		for (j=0;j<n;j++)
			c[i][j]=a[i][j];
		c[i][j]=b[i];
	}
	float *LU(float *,int);
	x=LU((float *)c,n);
	cout<<"\nThe roots of the equation are:"<<endl;
	for(i=0;i<n;i++)
		cout<<"x["<<i+1<<"]="<<x[i]<<endl;
}
float *LU(float *u,int n)
{
	int i,r, k;
	float *x;
	x=new float [n];
	for (r=0;r<=n-1;r++)
	{
		for (i=r;i<=n;i++)
			for (k=0;k<=r-1;k++)
				*(u+r*(N)+i)-=*(u+r*(N)+k)*(*(u+k*(N)+i));
		for(i=r+1;i<=n-1;i++)
		{
			for (k=0;k<=r-1;k++)
				*(u+i*(N)+r)-=*(u+i*(N)+k)*(*(u+k*(N)+r));
	            *(u+i*(N)+r)/=*(u+r*(N)+r);
		}
	}
	for (i=n-1;i>=0;i--)
	{
		for (r=n-1;r>=i+1;r--)
			*(u+i*(N)+n)-=*(u+i*(N)+r)*x[r];
	        x[i]=*(u+i*(N)+n)/(*(u+i*(N)+i));
	}
	return x;
}

⌨️ 快捷键说明

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