Pbleme sqrt en c aidez moi svp

Résolu
rimounatn Messages postés 93 Date d'inscription   Statut Membre Dernière intervention   -  
rimounatn Messages postés 93 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
j'ai un probleme avec la fonction sqrt voici l'erreur que j'ai :
programme.c:(.text+0x4fd): In function `main': 
: undefined reference to `sqrt' 
collect2: ld a retourné 1 code d'état d'exécution

je sais que cette fonction doit recevoir un de ces types: float, double et puis que j'ai des variables en int , voici exple:
int x;
float b ;
b=sqrt (float(x));
mais ca ne fonctionne pas meme pour le double et j'ai tjr le mm message d'erreur SVP , aidez moi

4 réponses

fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Salut,
Attention sqrt retourne un double et prend un double en paramètre.
De plus pour convertir un entier en float, il ne s'agit pas de la fonction float() mais d'un cast.
Dans ce cas, pas besoin puisqu'il s'agit d'un cast implicite.
Par exemple :
double rac;
int a=5;
rac=sqrt(a);

Enfin, lorsque tu compiles, il ne faut pas oublier de linker la bibliothèque math.
La procédure à suivre dépend du compilateur.
Pour gcc : gcc -c toto.c -o toto -lm

Cdlt
1
apprenti_nformaticien Messages postés 45 Date d'inscription   Statut Membre Dernière intervention   5
 
Il faut inclure #include<math.h>
0
rimounatn Messages postés 93 Date d'inscription   Statut Membre Dernière intervention   15
 
g déja mis "#include<math.h>", mais ca ne fonctionne pas :( et g la mm erreur
0
rimounatn Messages postés 93 Date d'inscription   Statut Membre Dernière intervention   15
 
thx fiddy , c bon ca marche. :)))))
0