0
int powi(int a,int b)
{
if(b<0)
return 1/powi (a,-b);
else if(b==0)
return 1;
else if(b==1)
return a;
else
return a*powi(a,b-1);
}
int factorial(int number)
{
int x,fac;
/* numberi scanfle istemis ona gore dusun */
fac=1;
for(x = 1; x <= number; x++)
{
if (number >= 0)
fac = fac * x;
else
fac=1;
}
return 0;
}
void getInputs(int *degree,int *n,int *exit)
{
scanf("%d %d",degree,n);
if(*degree=='e')
*exit=1;
else
*exit=0;
}
double cosine(int degree,int n)
{
#define pi 3.14
int sum,i;
if(degree<360 && degree>-1)
degree=(degree*pi)/180;
else if(degree<0)
{ do
{ degree=degree+360;
} while(degree<0);
degree=(degree*pi)/180;
}
else
{
degree=degree%360;
degree=(degree*pi)/180;
}
for(i=0;i<n+1;i++)
{
sum=0;
sum=sum+powi(-1,n)*powi(degree,2*n)/factorial(2*n);
}
return 0;
}
double sine(int degree,int n)
{
int i,sum;
#define pi 3.14
if(degree<360 && degree>-1)
degree=(degree*pi)/180;
else if(degree<0)
{ do
{ degree=degree+360;
} while(degree<0);
degree=(degree*pi)/180;
}
else {
degree=degree%360;
degree=(degree*pi)/180;
}
for(i=0;i<n+1;i++)
{
sum=0;
sum=sum+powi(-1,n)*powi(degree,2*n+1)/factorial(2*n+1);
}
return 0;
}
Herkese merhaba, günah hesaplamayı deneyen ve Taylor ve Maclorin serileri aracılığıyla bu küçük kodlarım var. Ama bir şeyle uğraştığımı düşünüyorum. Ana işlevsiz temel kod EX için: günahı çağırmaya çalıştığımda (30,4) sonsuz bir döngü verir. Gerçekten nerede sıkıştığını bulamıyorum.Sınırsız Döngüsün, Infinite Loop içinde kullanım dışı kullanımı C
Biraz yardım istenirdi. Zaman ayırdığınız için teşekkür ederiz.
çift
'int's yerine' double's öğesini kullanın. – alain
sadece bu bakışta sonsuz döngüden daha fazla sonsuz özyineleme gibi görünüyor. Diğer tüm döngüler iyi bir şekilde sonlanması gerektiği gibi göründüğü için, sorunları dikkatli bir şekilde kontrol edin. –