C++ Racine cubique

Résolu/Fermé
Bilow - 5 févr. 2010 à 23:16
 nicolas - 30 mars 2010 à 09:03
Bonjour,

Je cherche une fonction qui renvoi la racine cubique d'un nombre (exemple : racine cubique de 8 = 2 parce que 2 x 2 x 2 = 8).

Est-ce possible ?

int nombre = ;
cout << pow(nombre, (1/3)) << endl;

...en incluant 'math.h' m'affiche toujours 1, pour quelque valeur de 'nombre'.

Merci d'avance,
Bilow.

3 réponses

Pacorabanix Messages postés 3248 Date d'inscription jeudi 23 août 2007 Statut Membre Dernière intervention 19 mai 2013 661
5 févr. 2010 à 23:43
c'est un problème de type de valeur et d'interprétation du C.

Le souci, c'est que tu écris " 1/3" .
Qu'est ce que 1 et 3 ? des entiers pour le C. Alors le C va interpréter le " / " comme une division entière.

Ceci donne 0. (car 1 divisé par 3 donne 0, avec reste 1, comme quand tu poses ta division à l'école primaire ).
Et tout nombre puissance 0 donne 1.

Si tu veux faire une "puissance 1/3", il faudrait indiquer 1.0/3 ou 1.0/3.0, ou 1/3.0, pour que le C++ interprète cette division comme un nombre à virgule.
2
Merci Pacorabanix (encore une fois !) :)
0
nike
0