void main()
{
float a[50][50],x[50],b[50],sum,e[50],y[50],err;
int n,i,j,k,itr,c,r=0;
printf("Enter order of matrix, no. of iteration and error : ");
scanf("%d%d%f",&n,&itr,&err);
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
{
printf("Enter a[%d][%d] = ",i,j);
scanf("%f",&a[i][j]);
}
}
for (i=1;i<=n;i++)
{
printf("Enter b[%d] = ",i);
scanf("%f",&b[i]);
}
for (i=1;i<=n;i++)
{
printf("Enter x[%d] = ",i);
scanf("%f",&x[i]);
y[i]=x[i];
}
for(c=1;c<=itr;c++)
{
printf("\niteration %d",c);
for(i=1;i<=n;i++)
{
sum=0;
for(k=1;k<=n;k++)
{
if(k==i)
continue;
sum=sum+a[i][k]*x[k];
}
x[i]=(b[i]-sum)/a[i][i];
printf("\tx%d=%f\t",i,x[i]);
e[i]=fabs(y[i]-x[i]);
//printf("\te%d=%f\t",i,e[i]);
y[i]=x[i];
}
for(j=1;j<=n;j++)
{
if(e[j]<=err)
{
r++;
}
if(r==n)
break;
}
if(r==n)
break;
}
if(r==n)
{
for(i=1;i<=n;i++)
{
printf("\n\nx%d=%f",i,x[i]);
}
}
else
{
printf("\nSolution couldn't be converged !");
}
getch();
}
0 comments:
Post a Comment