Sunteți pe pagina 1din 2

/*program for guass siedel by shrishail kamble*/

#include[stdio.h]
#include[conio.h]
#include[math.h]
#include[stdlib.h]
#define epsilon 1e-6
void main()
{
int i,j,n,k,m;
float sum,s,xi,d;
float x[20],a[20][20],b[1];
double e=0;
printf("\n ****Gauss Seidel Method**** ");
printf("\n Enter no. of eqn.: \t");
scanf("%d",&n);

printf("\n Enter Augumented matrix [A] :");


for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
{
scanf("%f",&a[i][j]);
printf("\n a[%d][%d]=%f\n",i,j,a[i][j]);
}
{
scanf("%f",&b[i]);
printf("\n b[%d]=%f\n",i,b[i]);
}
}
printf("Enter the initial appx for
X(1),X(2),X(3)...\n");
for(i=1;i<=n;i++)
{
scanf("%f",&x[i]);
printf("\n x[%d]=%f\n",i,x[i]);
}
for(i=1;i<=n;i++)
{
if(a[i][i]==0)
printf("diagonal elements are zero,
solution not possible without pivoting\n");
}
do
{
m=1;
for(i=1;i<=n;i++)
{
s=0;
for(j=1;j<=n;j++)
if(i!=j)
s+=a[i][j]*x[j];
xi=(b[i]-s)/a[i][i];
printf("\n x[%d]=%f\n",i,xi);
d=fabs((xi-x[i]));
printf("d=%f\n",d);
x[i]=xi;
printf("x[%d]=%f\n",i,x[i]);
}
m++;
}
while ((d>= epsilon));
printf("\n Result :-");
for(i=1;i<=n;i++)
printf("\n x[%d]=%f ",i,x[i]);
}

S-ar putea să vă placă și