/* 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