/*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]); }