Contenu | Rechercher | Menus

Annonce

Ubuntu-fr.org recrute toujours de nouveaux modérateurs, avec de l'expérience.

Ubuntu 16.04 LTS
Réservez vos DVD et clé USB Ubuntu-fr (premières livraisons mi-mai)

Si vous avez des soucis pour rester connecté, déconnectez vous et reconnectez vous depuis ce lien en cochant le case
Me connecter automatiquement lors de mes prochaines visites.

M.A.J. en cours du forum possibilité de bug, nous faisons le maximum pour les résoudre au plus vite

#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)


Mes randos : tour des Cévennes, Vercors, grande traversée des Alpes, etc.

Hors ligne

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

bouabba

Re : probleme

merci pour votre reponse shanx

Hors ligne