Partage
  • Partager sur Facebook
  • Partager sur Twitter

[C]Erreur avec sqrt() sur Linux

Sujet résolu
    17 décembre 2005 à 21:13:32

    'Soir j'expose mon prob:

    Je fais le programme suivant sous linux pour calculer l'hypoténuse d'après Pyth:

    #include <stdio.h>
    #include <math.h>

    int main() {
           
            double resultat;
            float a = 0, carreeA;  //base du triangle rectangle & son carrée
            float b = 0, carreeB;  //côté du triangle rectangle & son carrée
            float p;  //valeur de l'hypothénuse
           
         
                 /*Saisie de la valeur de a*/
                 printf("valeur de la base:");
                 scanf("%f" , &a);
                
                 /*Saisie de la valeur de a*/
                 printf("valeur du côté:");
                 scanf("%f" , &b);
                
                 /*Calcul principal*/
                  carreeA = a*a;          
                   carreeB = b*b;
                    
                    p = (carreeA + carreeB);
                     resultat = sqrt(p);
                

                  
                 printf("Rédaction:\n Dans le triangle ABC rectangle en A, d'après le théorème de Pythagore :\n\n\t BC² = AB² + AC²\n\n\t BC² = %f ²  +  %f ²\n\n\t BC² = %f + %f\n\n\t BC² = %f\n\n\t BC = RacineCarree_ %f\n\n\t BC = %f\n\n", a, b, carreeA, carreeB, p, p, resultat);
                 printf("La mesure de l'hypoténuse est donc de %f \n\n", resultat);
    }



    Et à la compilation j'obtiens par gcc :

    /home/Platost/tmp/cc0qehyZ.o.(text+0x42f): In function 'mai:
    :undefined reference tosqrt
    collect2: ld returned 1 exit status


    Bref le blabla habituelle lorsqu'on oubli d'inclure math.h, néanmoins je l'ai inclu et j'ai même vérifié si elle état dans /usr/include bien évidement tout va bien sauf que tout va mal.

    Où est ce que je me suis trompé ?svpsvc
    Parceque l'hypoténuse au carrée ça le fait pas.
    • Partager sur Facebook
    • Partager sur Twitter
      17 décembre 2005 à 21:28:58

      Chez moi ca a l'air de fonctionner ... essay g++ au lieu de gcc :o
      • Partager sur Facebook
      • Partager sur Twitter
        17 décembre 2005 à 21:29:48

        en même temps le nom de mon prog c'est pyth.c
        pourquoi je compilerait avec g++ ?

        Edit: j'ai comme même tester (squ'on ferais pas quand on est désespéré), même erreur pour sqrt mais 10 fois plus d'erreur pour le reste ;-)
        • Partager sur Facebook
        • Partager sur Twitter
          17 décembre 2005 à 21:31:25

          Et pourquoi pas ? ! mdr

          Au pire tu fais un puissance 1/2 !

          resultat = pow(p, .5);
          • Partager sur Facebook
          • Partager sur Twitter
            17 décembre 2005 à 21:47:34

            Putin je rêve là!! la Konsole me répond exactement pareille pour pow.
            ça vient d'ailleurs, c'est zarbie.
            • Partager sur Facebook
            • Partager sur Twitter
              17 décembre 2005 à 22:20:19

              Tu mets bien l'option -lm quand tu compiles ?
              • Partager sur Facebook
              • Partager sur Twitter
                17 décembre 2005 à 22:34:02

                ou alors un petit "using namespace std;" avant ton main :o =)
                • Partager sur Facebook
                • Partager sur Twitter
                  17 décembre 2005 à 22:45:39

                  zoak : s'il te plaît, on a déja assez de mal avec les débutants, ne viens pas nous sortir de la merde aprise je ne sais où.

                  C'est quoi ta commande de compilation, ta distrib, ta version de gcc ?
                  • Partager sur Facebook
                  • Partager sur Twitter
                    17 décembre 2005 à 22:48:13

                    C'est vrai après tout, je retourne a mes smart pointers..
                    • Partager sur Facebook
                    • Partager sur Twitter
                      17 décembre 2005 à 23:52:08

                      j'avais pas mis -lm :-/ j'ai dû survolé un peu trop les chapitres de matéo je n'avais pas vu ça, merci rz0.
                      • Partager sur Facebook
                      • Partager sur Twitter
                        18 décembre 2005 à 7:37:08

                        Nan, m@t il en parle pas ; c'est spécifique à Unix ça.
                        • Partager sur Facebook
                        • Partager sur Twitter

                        [C]Erreur avec sqrt() sur Linux

                        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                        • Editeur
                        • Markdown