Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <math.h>
- double Ulamek(double x, int i)
- {
- int j;
- double fWy=1;
- for(j=0;j<i;j++)
- {
- fWy*=x;
- fWy=fWy/(j+1);
- }
- return fWy;
- }
- int main()
- {
- double x, fWynik, fCiag;
- int iPotega,i;
- FILE *f;
- f=fopen("Moj plik.dat","wt");;
- for (double m=0; m<3.1; m+=0.1) //wypisuje X po kolei od 0 do 3 zwiekszjace sie co 0.1
- {
- fprintf(f,"%lf\n",m); //zapisuje X do pliku
- }
- for(x=0.0; x<3.1;x+=0.1)
- {
- printf("\n\n Dla x=%lf:\n\t(sin x) = %lf\n\n\tPrawa strona rownania (ciag):\n",x,sin(x));
- fWynik=x;
- iPotega=3;
- i=0;
- while(1)
- {
- fCiag=Ulamek(x,iPotega);
- if(((iPotega-1)/2)%2==1) fCiag*=-1;
- fWynik+=fCiag;
- if(((iPotega-1)/2)%2==1) fCiag*=-1;
- if(fCiag<0.0000000001)
- {
- printf("%lf\n" ,fWynik, (iPotega+1)/2); // Liczy przybliżenie 10 miejscowe
- fprintf(f,"%lf\n",fWynik, (iPotega+1)/2);//zapisuje do pliku
- break;
- }
- if((fCiag<0.0001)&&(i<4))
- {
- printf("%lf\n",fWynik, (iPotega+1)/2);// Liczy przybliżenie 4 miejscowe
- fprintf(f,"%lf\n",fWynik, (iPotega+1)/2);//zapisuje do pliku
- i=4;
- }
- if((fCiag<0.001)&&(i<3))
- {
- printf("%lf\n",fWynik, (iPotega+1)/2);// Liczy przybliżenie 3 miejscowe
- fprintf(f,"%lf\n",fWynik, (iPotega+1)/2);//zapisuje do pliku
- i=3;
- }
- if((fCiag<0.01)&&(i<2))
- {
- printf("%lf\n",fWynik, (iPotega+1)/2);// Liczy przybliżenie 2 miejscowe
- fprintf(f,"%lf\n",fWynik, (iPotega+1)/2);//zapisuje do pliku
- i=2;
- }
- iPotega+=2;
- }
- }
- fclose(f);
- system("PAUSE");
- system("cls");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement