#include #include #define NJ 2 main() { int i,j,k,p,n; float x[100],y[100],a[2][2],b[2],w[2]; float s1,sx,sx2,sy,sxy; float pmax,s; printf("number of data n="); scanf("%d",&n); for(i=0;i pmax){ p = i; pmax = fabs( a[i][k] ); } } /* */ if(fabs( pmax ) < 1.0e-6){ printf("too small pivot! \n"); return(0); } if(p != k){ for(i = k; i < NJ; i++){ /* */ s = a[k][i]; a[k][i] = a[p][i]; a[p][i] = s; } /* */ s = b[k]; b[k] = b[p]; b[p] = s; } /* */ for(i = k +1; i < NJ; i++){ w[i] = a[i][k] / a[k][k]; a[i][k] = 0.0; /* */ for(j = k + 1; j < NJ; j++){ a[i][j] = a[i][j] - a[k][j] * w[i]; } b[i] = b[i] - b[k] * w[i]; } } /* */ for(i = NJ - 1; i >= 0; i--){ for(j = i + 1; j < NJ; j++){ b[i] = b[i] - a[i][j] * b[j]; a[i][j] = 0.0; } b[i] = b[i] / a[i][i]; a[i][i] = 1.0; } /* */ printf("\n"); for(i = 0; i < NJ; i++){ printf("x[%2d] = %12.8lf\n",i+1,b[i]); } printf("\n"); /* */ printf("\n"); printf("f(x)=%f + %f x\n",b[0],b[1]); return(0); }