cappytoi
07/05/2006, 00:02
kısaca,
#include <stdio.h>
double pow(double , double);
double faktoriyel(int sayi) {
double sonuc=1;
while(sonuc *= sayi--,sayi > 1);
return sonuc;
}
double sinus_seri(double aci,int sira,int mutlak) {
if (mutlak == 0)
return (pow(-1,sira) * pow(aci,2 * sira + 1) / faktoriyel(2 * sira + 1));
else
return (pow(aci,2 * sira + 1) / faktoriyel(2 * sira + 1));
}
double sinus_hata(double aci,double hata_payi) {
int isaret=1,terim=0,aci_i;
double sonuc=0;
while (aci < 0) aci += 360;
while (aci > 360) aci -= 360;
aci_i = (int) aci;
if (aci > 180) aci -= 180;
if (aci > 90) aci = 180 - aci;
if ((aci_i % 360) > 180) isaret = -1;
aci = aci * 3.14 / 180;
while (hata_payi <= sinus_seri(aci,terim,1)) terim++;
while (terim >= 0) {
sonuc += sinus_seri(aci,terim,0);
terim--;
}
return isaret * sonuc;
}
int main(void) {
double hata,aci;
printf("Lutfen aciyi derece cinsinden giriniz: ");
scanf("%lf",&aci);
printf("Lutfen hata oranini giriniz: ");
scanf("%lf",&hata);
printf("%lf",sinus_hata(aci,hata));
return 0;
}
hatam varsa bildirin :)
#include <stdio.h>
double pow(double , double);
double faktoriyel(int sayi) {
double sonuc=1;
while(sonuc *= sayi--,sayi > 1);
return sonuc;
}
double sinus_seri(double aci,int sira,int mutlak) {
if (mutlak == 0)
return (pow(-1,sira) * pow(aci,2 * sira + 1) / faktoriyel(2 * sira + 1));
else
return (pow(aci,2 * sira + 1) / faktoriyel(2 * sira + 1));
}
double sinus_hata(double aci,double hata_payi) {
int isaret=1,terim=0,aci_i;
double sonuc=0;
while (aci < 0) aci += 360;
while (aci > 360) aci -= 360;
aci_i = (int) aci;
if (aci > 180) aci -= 180;
if (aci > 90) aci = 180 - aci;
if ((aci_i % 360) > 180) isaret = -1;
aci = aci * 3.14 / 180;
while (hata_payi <= sinus_seri(aci,terim,1)) terim++;
while (terim >= 0) {
sonuc += sinus_seri(aci,terim,0);
terim--;
}
return isaret * sonuc;
}
int main(void) {
double hata,aci;
printf("Lutfen aciyi derece cinsinden giriniz: ");
scanf("%lf",&aci);
printf("Lutfen hata oranini giriniz: ");
scanf("%lf",&hata);
printf("%lf",sinus_hata(aci,hata));
return 0;
}
hatam varsa bildirin :)