SHARE
TWEET

Untitled

a guest Jul 17th, 2017 42 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <math.h>
  4.  
  5. double Ulamek(double x, int i)
  6. {
  7. int j;
  8. double fWy=1;
  9. for(j=0;j<i;j++)
  10. {
  11. fWy*=x;
  12. fWy=fWy/(j+1);
  13. }
  14. return fWy;
  15. }
  16.  
  17. int main()
  18. {
  19.  
  20.  
  21. double x, fWynik, fCiag;
  22. int iPotega,i;
  23. FILE *f;
  24. f=fopen("Moj plik.dat","wt");;
  25.  
  26. for (double m=0; m<3.1; m+=0.1) //wypisuje X po kolei od 0 do 3 zwiekszjace sie co 0.1
  27. {
  28. fprintf(f,"%lf\n",m); //zapisuje X do pliku
  29. }
  30.  
  31.  
  32. for(x=0.0; x<3.1;x+=0.1)
  33. {
  34. printf("\n\n Dla x=%lf:\n\t(sin x) = %lf\n\n\tPrawa strona rownania (ciag):\n",x,sin(x));
  35. fWynik=x;
  36. iPotega=3;
  37. i=0;
  38.  
  39. while(1)
  40. {
  41. fCiag=Ulamek(x,iPotega);
  42. if(((iPotega-1)/2)%2==1) fCiag*=-1;
  43. fWynik+=fCiag;
  44. if(((iPotega-1)/2)%2==1) fCiag*=-1;
  45. if(fCiag<0.0000000001)
  46. {
  47. printf("%lf\n" ,fWynik, (iPotega+1)/2); // Liczy przybliżenie 10 miejscowe
  48. fprintf(f,"%lf\n",fWynik, (iPotega+1)/2);//zapisuje do pliku
  49. break;
  50. }
  51. if((fCiag<0.0001)&&(i<4))
  52. {
  53. printf("%lf\n",fWynik, (iPotega+1)/2);// Liczy przybliżenie 4 miejscowe
  54. fprintf(f,"%lf\n",fWynik, (iPotega+1)/2);//zapisuje do pliku
  55. i=4;
  56. }
  57. if((fCiag<0.001)&&(i<3))
  58. {
  59. printf("%lf\n",fWynik, (iPotega+1)/2);// Liczy przybliżenie 3 miejscowe
  60. fprintf(f,"%lf\n",fWynik, (iPotega+1)/2);//zapisuje do pliku
  61. i=3;
  62. }
  63. if((fCiag<0.01)&&(i<2))
  64. {
  65. printf("%lf\n",fWynik, (iPotega+1)/2);// Liczy przybliżenie 2 miejscowe
  66. fprintf(f,"%lf\n",fWynik, (iPotega+1)/2);//zapisuje do pliku
  67. i=2;
  68. }
  69. iPotega+=2;
  70. }
  71.  
  72. }
  73. fclose(f);
  74. system("PAUSE");
  75. system("cls");
  76. return 0;
  77. }
RAW Paste Data
Top