Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include<math.h>
- #include<float.h>
- #define PI 3.141592
- int factorial(int num){
- int sum = 1;
- for (int i = 0; i < num; i++) {
- sum = sum * (i + 1);
- }
- return sum;
- }
- float nax(float num, float x){
- float ret=1.0;
- for(int i=1;i<=x;i++){
- ret=ret*num;
- }
- return ret;
- }
- float sine(float uhol, float epsilon){
- while (uhol >= 180) {
- uhol = uhol - 180;
- }
- while (uhol <= -180) {
- uhol = uhol + 180;
- }
- if(uhol > 90){
- uhol = uhol - 2*(uhol - 90);
- }
- if(uhol < -90){
- uhol = uhol - 2*(uhol + 90);
- }
- int i = 0;
- double osszeg = 0;
- double szin = 0;
- double hasonlito;
- int elojel;
- do {
- elojel = nax(-1, (i));
- osszeg = elojel * nax(uhol * PI / 180, (2 * i + 1)) / factorial(2 * i + 1);
- hasonlito = osszeg;
- szin = szin + osszeg;
- i++;
- } while (((osszeg > epsilon) || (-osszeg > epsilon)) && (((osszeg - hasonlito) > epsilon) || ((osszeg - hasonlito) < epsilon)));
- return szin;
- }
- int main(){
- int uhol;
- float epsilon;
- scanf("%d %f",&uhol,&epsilon);
- for (int i=-360;i<360;i+=10){
- printf("Enyem:(%d) %f\n",i,sine(i,epsilon));
- printf("Rendes: %f\n",sin(i*PI/180));
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement