Bonjour à tous,
en cours j'ai abordé le C et en TD on a du faire la fonction cosinus via un dl (développemnt limité).
J'ai voulu tester ma fonction sur un PC (c'est plus parlant quand même) et quelle ne fut pas ma surprise quand pour cos(33) j'ai obtenu plus de 3000!!!...il me semblait que |cos(x)|<=1!

Donc voici ma question : comment corriger ceci (une bonne idée serait la bienvenue).

Je joins mon code pour la fonction cos (basée sur le fait que cos(x)=somme ((-1^n)*(x^2n)/factoriel(2n)) :

double cosinus(double x)
{
double resultat=0;double signe=1;double terme=1;long n=0;
while (resultat+terme!=resultat)
{
resultat=resultat+signe*terme;
signe=-signe;n=n+1;
terme=terme*((x*x)/(2*n*(2*n-1)));
}
return resultat;
}


ma fonction est bonne certes mais [-24;24] est le plus grand intervalle où je peux avoir 6 décimales éxactes...un peu juste pour un supercalculateur...