Friday, July 20, 2012

C Program for Navive Gauss Elimination





/* Naive Gauss Elimination */

#include<stdio.h>

#include<conio.h>

void main()

{

float a[3][4],i,j,k,f,sum,x[]={0,0,0};

clrscr();

printf("Enter coeff. in format\nax1+bx2+c3=d");

for(i=0;i<3;i++)

{

for(j=0;j<4;j++)

{

scanf("%f",&a[i][j]);

}

}

for(k=0;k<2;k++)

{

for(i=k+1;i<3;i++)

{

f=a[i][k]/a[k][k];

for(j=0;j<4;j++)

{

a[i][j]=a[i][j]-a[k][j]*f;

}

}

}

printf("\nForward Elimination\n");

for(i=0;i<3;i++)

{

for(j=0;j<4;j++)

{

printf("\t %10.6f",a[i][j]);

}

printf("\n");

}

printf("Backward substituation\n");

for(i=2;i>=0;i--)

{

sum=a[i][3];

for(j=0;j<3;j++)

{

sum=sum-a[i][j]*x[j];

}

x[i]=sum/a[i][i];

}

for(i=0;i<3;i++)

{

printf("\tx%d=%f",i,x[i]);

}




getch();

}

Output Of Program:-




Enter coeff. in format

ax1+bx2+c3=d

3 -0.1 -0.2 7.85

0.1 7 -0.3 -19.3

0.3 -0.2 10 71.6




Forward Elimination

3.000000 -0.100000 -0.200000 7.850000

-0.000000 7.003334 -0.293333 -19.561666

0.000000 0.000000 10.012042 70.284286

Backward substituation

x1=3.001360 x2=-2.499163 x3=7.019975



































No comments:

Post a Comment