Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include<math.h>
- double listX[100],listY[100];
- double sumOfSquare[100];
- double sumOfCube[100];
- double sumOfPower4[100];
- double sumOfYX[100];
- double sumOfYXsquare[100];
- double matrix[100][100];
- double a[100];
- int totatlData;
- void inputData();
- void printList(double*);
- double sumOfList(double*);
- void makeSumOfSquareList(double*);
- void makeSumOfCubeList(double*);
- void makeSumOfPower4List(double*);
- void makeSumOfYXList(double*,double*);
- void makeSumOfYXSquareList(double*,double*);
- void makematrix();
- void printmatrix();
- void gjm();
- void polynomial();
- int main(void)
- {
- inputData();
- makematrix();
- printmatrix();
- gjm();
- polynomial();
- return 0;
- }
- void inputData()
- {
- printf("How many (x,y) inputs : ");
- scanf("%d",&totatlData);
- int i;
- for(i=1; i<=totatlData; i++)
- {
- printf("Enter x%d : ",i);
- scanf("%lf",&listX[i]);
- printf("Enter y%d : ",i);
- scanf("%lf",&listY[i]);
- }
- }
- void printmatrix()
- {
- int i,j;
- for(i=1; i<=3; i++)
- {
- for(j=1; j<=3+1; j++)
- {
- printf("%lf\t",matrix[i][j]);
- }
- printf("\n");
- }
- }
- void printList(double x[])
- {
- int i;
- for(i=1; i<=totatlData; i++)
- {
- printf("Item %d : %lf\n",i,x[i]);
- }
- printf("\n");
- }
- double sumOfList(double x[])
- {
- int i;
- double sum = 0;
- for(i=1; i<=totatlData; i++)
- {
- sum=sum+x[i];
- }
- return sum;
- }
- void makeSumOfSquareList(double x[])
- {
- int i;
- for(i=1; i<=totatlData; i++)
- {
- sumOfSquare[i] = pow(x[i],2);
- }
- }
- void makeSumOfCubeList(double x[])
- {
- int i;
- for(i=1; i<=totatlData; i++)
- {
- sumOfCube[i] = pow(x[i],3);
- }
- }
- void makeSumOfPower4List(double x[])
- {
- int i;
- for(i=1; i<=totatlData; i++)
- {
- sumOfPower4[i] = pow(x[i],4);
- }
- }
- void makeSumOfYXList(double y[],double x[])
- {
- int i;
- for(i=1; i<=totatlData; i++)
- {
- sumOfYX[i] = y[i]*x[i];
- }
- }
- void makeSumOfYXSquareList(double y[],double x[])
- {
- int i;
- for(i=1; i<=totatlData; i++)
- {
- sumOfYXsquare[i] = y[i]*pow(x[i],2);
- }
- }
- void makematrix()
- {
- makeSumOfSquareList(listX);
- makeSumOfCubeList(listX);
- makeSumOfPower4List(listX);
- makeSumOfYXList(listY,listX);
- makeSumOfYXSquareList(listY,listX);
- matrix[1][1]=totatlData;
- matrix[1][2]=sumOfList(listX);
- matrix[1][3]=sumOfList(sumOfSquare);
- matrix[1][4]=sumOfList(listY);
- matrix[2][1]=sumOfList(listX);
- matrix[2][2]=sumOfList(sumOfSquare);
- matrix[2][3]=sumOfList(sumOfCube);
- matrix[2][4]=sumOfList(sumOfYX);
- matrix[3][1]=sumOfList(sumOfSquare);
- matrix[3][2]=sumOfList(sumOfCube);
- matrix[3][3]=sumOfList(sumOfPower4);
- matrix[3][4]=sumOfList(sumOfYXsquare);
- }
- void gjm()
- {
- //printmatrix();
- int i,j,k,n=3;
- double pivotSafe=0,pivotOwn=0;
- for(k=1; k<=n; k++)
- {
- for(i=1; i<=n; i++)
- {
- if(i!=k)
- {
- pivotSafe = matrix[k][k];
- pivotOwn = matrix[i][k];
- for(j=1; j<=n+1; j++)
- {
- matrix[i][j]=(pivotSafe*matrix[i][j])-(pivotOwn*matrix[k][j]);
- }
- }
- }
- }
- //printmatrix();
- for(i=1; i<=n; i++)
- {
- double pivot = matrix[i][i];
- for(j=1; j<=n+1; j++)
- {
- matrix[i][j]=matrix[i][j]/pivot;
- }
- }
- //printmatrix();
- }
- void polynomial()
- {
- int i;
- printf("y=%lfx+%lfx+%lfx^2",matrix[1][4],matrix[2][4],matrix[3][4]);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement