Advertisement
Guest User

Untitled

a guest
Feb 22nd, 2020
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.56 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. double hatvany(double szam, int hanyadikra) {
  5. double seged = 1;
  6. for (int i = 0; i < (hanyadikra); i++) {
  7. seged = (double) (seged * szam);
  8. }
  9. return seged;
  10. }
  11.  
  12. unsigned long long int fakt(unsigned long long int szam) {
  13. unsigned long long int seged = 1;
  14. for (unsigned int i = 0; i < szam; i++) {
  15. seged = seged * (i + 1);
  16. }
  17. return seged;
  18. }
  19.  
  20. double szinusz(double szog, double epsilon) {
  21. while (szog >= 180) {
  22. szog = szog - 180;
  23. }
  24.  
  25. while (szog <= -180) {
  26. szog = szog + 180;
  27. }
  28.  
  29. if(szog > 90){
  30. szog = szog - 2*(szog - 90);
  31. }
  32.  
  33. if(szog < -90){
  34. szog = szog - 2*(szog + 90);
  35. }
  36.  
  37. double seged = szog / 360 * 3.14159265358 * 2;
  38. int i = 0;
  39. double szamlalo;
  40. unsigned long long int nevezo;
  41. double osszeg = 0;
  42. double szin = 0;
  43. double hasonlito;
  44. int elojel;
  45. do {
  46.  
  47. elojel = hatvany(-1, (i));
  48. szamlalo = hatvany(seged, (2 * i + 1));
  49. nevezo = fakt(2 * i + 1);
  50. osszeg = elojel * szamlalo / nevezo;
  51. hasonlito = osszeg;
  52. szin = szin + osszeg;
  53. /*cout << "Iteracio " << i << endl;
  54. cout << "Szamlalo: " << szamlalo << endl;
  55. cout << "Nevezo: " << nevezo << endl;
  56. cout << "Osszeg " << osszeg << endl;
  57. cout << "Szin " << szin << endl;*/
  58.  
  59. i++;
  60. } while (((osszeg > epsilon) || (-osszeg > epsilon))
  61. && (((osszeg - hasonlito) > epsilon)
  62. || ((osszeg - hasonlito) < epsilon)));
  63. return szin;
  64. }
  65.  
  66. int main() {
  67. double pam = 0;
  68. for (int i = -180; i < 181; i++) {
  69. pam = szinusz(i, 0.000000000000001);
  70. cout << i << " = " << pam << endl;
  71. }
  72.  
  73. return 0;
  74. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement