Contenu | Rechercher | Menus

Annonce

Si vous rencontrez des soucis à rester connecté sur le forum (ou si vous avez perdu votre mot de passe) déconnectez-vous et reconnectez-vous depuis cette page, en cochant la case "Me connecter automatiquement lors de mes prochaines visites".

#1 Le 30/06/2013, à 00:38

bouabba

probleme

bonjours
j'ai un probleme lorsque je compile le prog suivant:
il m'affiche undefined reference to 'sqrt'

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>
main()
{
                     /* Pour ne pas perdre de précision lors de la division, */
                     /* déclarons P comme rationnel. */
   int A, B, C;
   float P;
   printf("Introduisez les valeurs pour A, B et C : ");
   scanf("%d %d %d", &A, &B, &C);
                     /* En forçant la conversion de A, les autres opérandes */
                     /* sont converties automatiquement. */
   P=((float)A+B+C)/2;
   printf("Surface du triangle S = %f\n",sqrt(P*(P-A)*(P-B)*(P-C)));
    return 0;
}
il m'affiche undefined reference to 'sqrt'
merci de m'aider svp

Hors ligne

#2 Le 30/06/2013, à 08:53

Shanx

Re : probleme

Salut

Là, tu as deux problèmes :
  - tu as mis sqrt alors qu’il aurait fallut mettre sqrtf étant donné que tu veux un float
  - et tu n’as pas mis les bonnes options pour la compilation. Tu utilises probablement gcc pour celle-ci, et il faut que tu ajoutes l’option lm. Par exemple, si ton code s’appelle surface.c, tu devrais utiliser cette commande pour compiler :

gcc surface.c -o surface -lm

Sinon, quelques remarques pour la prochaine fois :
  - pense à mettre un titre plus explicite (par exemple “problème avec sqrt en C”)
  - utilise les balises code (ce symbole au dessus de la zone de texte : bt_pre.png)
  - et surtout, pense à utiliser la fonction man. La commande suivante aurait répondu à toutes tes questions :

man sqrt

Dernière modification par Shanx (Le 30/06/2013, à 08:54)


« En vérité, je ne voyage pas, moi, pour atteindre un endroit précis, mais pour marcher : simple plaisir de voyager. » R. L. Stevenson
--
Blog et randos

Hors ligne

#3 Le 01/07/2013, à 16:43

bouabba

Re : probleme

merci pour votre reponse shanx

Hors ligne