#include<stdio.h>
#include<math.h>
void show(float a[][200],int r);
main()
{
float a[200][200],err,aerr=0.00001,x[200]={0},maxerr,t;
int r,i,j,maxitr=10,itr,s;
printf("\nEnter number of variables=");
scanf("%d",&r);
for(i=0;i<r;i++)
{
for(j=0;j<r;j++)
{
printf("\nEnter coefficient of x%d=",j);
scanf("%f",&a[i][j]);
}
printf("\nEnter constant value=");
scanf("%f",&a[i][r]);
}
printf("\nThe augmented matrix is \n");
show(a,r);
printf("Iteration\t");
for(i=0;i<r;i++)
printf(" x[%2d] ",i+1);
printf("\n");
for(itr=1;itr<=maxitr;itr++)
{
maxerr=0;
for(i=0;i<r;i++)
{
s=0;
for(j=0;j<r;j++)
{
if(j!=i)
{
s+=a[i][j]*x[j];
}
}
t=(a[i][r]-s)/a[i][i];
err=fabs(x[i]-t);
if(err>maxerr)
maxerr=err;
x[i]=t;
}
printf("%5d ",itr);
for(i=0;i<r;i++)
{
printf("%15f",x[i]);
}
printf("\n");
if(maxerr<aerr)
{
printf("Converges in %3d Iteration\n",itr);
for(i=0;i<r;i++)
{
printf("x[%d]=%f",i,x[i]);
}
return 0;
}
}
printf("\nSolution does not converge, needs more iteration \n");
}
void show(float a[][200],int r)
{
int i,j;
for(i=0;i<r;i++)
{
for(j=0;j<r;j++)
{
printf("%20f",a[i][j]);
}
printf(" %20f",a[i][r]);
printf("\n");
}
printf("\n");
}
#include<math.h>
void show(float a[][200],int r);
main()
{
float a[200][200],err,aerr=0.00001,x[200]={0},maxerr,t;
int r,i,j,maxitr=10,itr,s;
printf("\nEnter number of variables=");
scanf("%d",&r);
for(i=0;i<r;i++)
{
for(j=0;j<r;j++)
{
printf("\nEnter coefficient of x%d=",j);
scanf("%f",&a[i][j]);
}
printf("\nEnter constant value=");
scanf("%f",&a[i][r]);
}
printf("\nThe augmented matrix is \n");
show(a,r);
printf("Iteration\t");
for(i=0;i<r;i++)
printf(" x[%2d] ",i+1);
printf("\n");
for(itr=1;itr<=maxitr;itr++)
{
maxerr=0;
for(i=0;i<r;i++)
{
s=0;
for(j=0;j<r;j++)
{
if(j!=i)
{
s+=a[i][j]*x[j];
}
}
t=(a[i][r]-s)/a[i][i];
err=fabs(x[i]-t);
if(err>maxerr)
maxerr=err;
x[i]=t;
}
printf("%5d ",itr);
for(i=0;i<r;i++)
{
printf("%15f",x[i]);
}
printf("\n");
if(maxerr<aerr)
{
printf("Converges in %3d Iteration\n",itr);
for(i=0;i<r;i++)
{
printf("x[%d]=%f",i,x[i]);
}
return 0;
}
}
printf("\nSolution does not converge, needs more iteration \n");
}
void show(float a[][200],int r)
{
int i,j;
for(i=0;i<r;i++)
{
for(j=0;j<r;j++)
{
printf("%20f",a[i][j]);
}
printf(" %20f",a[i][r]);
printf("\n");
}
printf("\n");
}
No comments:
Post a Comment