#include<stdio.h>
#include<conio.h>
#include<math.h>
//#include<stdlib.h>
int main()
{
int n,i,j,m,k,p,q;
float
e,a[10][10],x[10],temp,max,sum,u;
//clrscr();
printf("enter the
number of equations :");
scanf("%d",&n);
printf("\nenter the
co-efficients of equations\n");
for(i=1;i<=n;i++)
for(j=1;j<=(n+1);j++)
scanf("%f",&a[i][j]);
printf("\nenter the
value of prescribed precision :");
scanf("%f",&e);
printf("\nentered
co-efficient matrix is\n");
for(i=1;i<=n;i++)
{
for(j=1;j<=(n+1);j++)
printf("%.2f\t",a[i][j]);
printf("\n");
}
//Lower Triangularisation Steps//
for(k=1;k<=(n-1);k++)
//Pivotal Condensation Steps//
{
max=fabs(a[k][k]);
p=k;
for(m=(k+1);m<=n;m++)
if(max < fabs(a[m][k]))
{
max=fabs(a[m][k]);
p=m;
}
if(max <= e)
{
printf("\nill conditional
equation\n");
return(0);
}
if (p!=k)
for(q=k;q<=(n+1);q++)
{
temp=a[p][q];
a[p][q]=a[k][q];
a[k][q]=temp;
}
//End of Pivoting Steps.
for(i=(k+1);i<=n;i++)
{
u=a[i][k]/a[k][k];
for(j=k;j<=(n+1);j++)
a[i][j]=a[i][j]-(u*a[k][j]);
}
}
printf("\nLower Triangularised matrix
is\n");
for(i=1;i<=n;i++)
{
for(j=1;j<=(n+1);j++)
printf("%.2f\t",a[i][j]);
printf("\n");
}
//End Lower Triangularisation Steps//
//Backward Substitution Steps //
x[n]=a[n][n+1]/a[n][n];
for(i=(n-1);i>=1;i--)
{
sum=0;
for(j=i+1;j<=n;j++)
sum=sum+a[i][j]*x[j];
x[i]=(a[i][j]-sum)/a[i][i];
}
printf("\nsolution vector is\n");
for(i=1;i<=n;i++)
printf("x[%d]=%.2f\n",i,x[i]);
getch();
}
No comments:
Write comments