3高斯列主元消去法

更新时间:2023-09-16 04:37:01 阅读量: 高中教育 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

3.高斯列主元消去法,求解其次线性方程组C/C++ code

#include #include #define N 20 int main() { int n,i,j,k; int mi,tmp,mx; float a[N][N],b[N],x[N]; printf(\); scanf(\,&n); if(n>N) { printf(\); getch(); return 1; } if(n<=0) { printf(\); getch(); return 1; } printf(\,n-1); for(i=0;imx) { mi=j; mx=fabs(a[j][i]); } if(i=0;i--) { x[i]=b[i]; for(j=i+1;j #include #define NUMBER 20 #define Esc 0x1b #define Enter 0x0d float A[NUMBER][NUMBER+1] ,ark; int flag,n; exchange(int r,int k); float max(int k); message(); main() { float x[NUMBER]; int r,k,i,j; char celect; clrscr(); printf(\); printf(\); printf(\); celect=getch(); if(celect==Esc) exit(0); printf(\); scanf(\,&n); printf(\); for(i=1;i<=n;i++) { printf(\,i,i,n,i); for(j=1;j<=n+1;j++) scanf(\,&A[i][j]); } for(k=1;k<=n-1;k++) { ark=max(k); if(ark==0) { printf(\);message(); } else if(flag!=k) exchange(flag,k); for(i=k+1;i<=n;i++) for(j=k+1;j<=n+1;j++) A[i][j]=A[i][j]-A[k][j]*A[i][k]/A[k][k]; } x[n]=A[n][n+1]/A[n][n]; for( k=n-1;k>=1;k--) { float me=0; for(j=k+1;j<=n;j++) { me=me+A[k][j]*x[j]; } x[k]=(A[k][n+1]-me)/A[k][k]; } for(i=1;i<=n;i++) { printf(\,i,x[i]); } message(); } exchange(int r,int k) { int i; for(i=1;i<=n+1;i++) A[0][i]=A[r][i]; for(i=1;i<=n+1;i++) A[r][i]=A[k][i]; for(i=1;i<=n+1;i++) A[k][i]=A[0][i]; } float max(int k) { int i; float temp=0; for(i=k;i<=n;i++) if(fabs(A[i][k])>temp) { temp=fabs(A[i][k]); flag=i; } return temp; } message() { printf(\); switch(getch()) { case Enter: main(); case Esc: exit(0); default:{printf(\);message();} } } 4.龙贝格求积公式,求解定积分C/C++ code #include #include #define f(x) (sin(x)/x) #define N 20 #define MAX 20 #define a 2 #define b 4 #define e 0.00001 float LBG(float p,float q,int n) { int i; float sum=0,h=(q-p)/n; for (i=1;iT[m][1]-e)) { printf(\,T[m][1]); getch(); return ; } } }

本文来源:https://www.bwwdw.com/article/ye5h.html

Top