gauss elimination

3
/*Gauss elimination method*/ #include<stdio.h> #include<math.h> #define N 4 main() { int i,j,k; float a[N][N+1],x[N],t,s; printf("enter elements into matrix"); for(i=0;i<N;i++) for(j=0;j<N+1;j++) scanf("%f",&a[i][j]); for(j=0;j<N-1;j++) for(i=j+1;i<N;i++) { t=a[i][j]/a[j][j]; for(k=0;k<N+1;k++) a[i][k]=a[j][k]*t; } printf("upper triangular matrix is"); for(i=0;i<N;i++) { for(j=0;j<N+1;j++) printf("%5.4f\t",a[i][j]); printf("\n"); } for(i=N-1;i>=0;i--) { s=0; for(j=i+1;j<N;j++) s+=a[i][j]*x[j]; x[i]=(a[i][N]-s)/a[i][i]; } printf("the solution is\n"); for(i=0;i<N;i++) printf("x[%d]=%f\n",i+1,x[i]); }

Upload: sunil-chowdary

Post on 28-Jan-2016

216 views

Category:

Documents


0 download

DESCRIPTION

gauss elimination method c program

TRANSCRIPT

Page 1: Gauss Elimination

/*Gauss elimination method*/

#include<stdio.h>#include<math.h>#define N 4main(){ int i,j,k; float a[N][N+1],x[N],t,s; printf("enter elements into matrix"); for(i=0;i<N;i++) for(j=0;j<N+1;j++) scanf("%f",&a[i][j]); for(j=0;j<N-1;j++) for(i=j+1;i<N;i++) {

t=a[i][j]/a[j][j]; for(k=0;k<N+1;k++)

a[i][k]=a[j][k]*t; } printf("upper triangular matrix is"); for(i=0;i<N;i++) { for(j=0;j<N+1;j++) printf("%5.4f\t",a[i][j]); printf("\n"); } for(i=N-1;i>=0;i--) {

s=0;for(j=i+1;j<N;j++)s+=a[i][j]*x[j];x[i]=(a[i][N]-s)/a[i][i];

} printf("the solution is\n"); for(i=0;i<N;i++) printf("x[%d]=%f\n",i+1,x[i]);}

Page 2: Gauss Elimination

Output:enter elements into matrix10-7 3 5 6 -6 8 -1 -4 5 3 1 4 11 2 5 -9 -2 4 7 upper triangular matrix is10.0000 -7.0000 3.0000 5.0000 6.0000 -6.0000 4.2000 -1.8000 -3.0000 -3.6000 3.0000 -2.1000 0.9000 1.5000 1.8000 5.0000 -3.5000 1.5000 2.5000 3.0000 the solution is x[1]=0.000000 x[2]=0.000000 x[3]=0.000000 x[4]=1.200000