Partage
  • Partager sur Facebook
  • Partager sur Twitter

résolution de l'équation de secon degré

équation de second degré

    10 février 2006 à 10:31:41

    bonjour,

    voila j'essai de résoudre l'équation de second degré avec le langage c, mais j'ai un probléme au niveau des calculs des résultats.
    ma deuscième question peut on rèsoudre ce problème avec une autre méthode plus facile en utilisant les fonctions ou pointeurs parexemple ?
    je donne mes codes C dessous


    #include <stdio.h>
    #include <stdlib.h>

    int main(int argc, char *argv[])
    {
        double a =0 ,b = 0,c = 0,detreminant =0,x0 = 0,x1 = 0,x2 = 0;
        printf("Entrez un nombre a : ");
        scanf("%lf", &a);
        printf("Entrez un nombre b : ");
        scanf("%lf", &b);
       printf("Entrez un nombre c : ");
        scanf("%lf", &c);
       detreminant = (b*b)-(4*a*c);
        printf("le deteminant est alors :%lf\n",detreminant );
       
        if (detreminant < 0)
    {
      printf ("pas de solution dans R\n");
    }
      else if ( detreminant > 0 )
    {
      x1 = '(-b-sqrt(determinant))/(2*a)';
      x2 = '(-b+sqrt(determinant))/(2*a)';
      printf ("la solution est alors double x1 =  %lf et x2  = %lf\n" ,x1, x2);
    }
    else // Sinon...
    {
        x0= '(-b)/(2*a)';
        printf ("la solution est alors  x0 = %lf\n",x0 );
    } 
        system("PAUSE");   
        return 0;
    }
     
    • Partager sur Facebook
    • Partager sur Twitter
      10 février 2006 à 10:38:54

      Il ne faut pas mettre de '' autour des formules:
      x0= (-b)/(2*a);
      • Partager sur Facebook
      • Partager sur Twitter
        10 février 2006 à 10:48:05

        salut,
        mai ça marche pas , ça me donne erreur
        • Partager sur Facebook
        • Partager sur Twitter
          10 février 2006 à 10:57:39

          tu n'as pas inclu math.h pour pouvoir utiliser sqrt();
          Et pour avoir l'opposé de b il n'est pas possible de faire -b, il faut faire 0-b ;)
          • Partager sur Facebook
          • Partager sur Twitter
            10 février 2006 à 11:07:59

            salut,
            j'ai déjà verifié que la fonction sqrt donne le résultat méme si on utilise pas les includes maths,
            en essayant le code dessus il s'arréte à la ligne suivante
            en changeant -b avec 0-b ?

            x1 = (0-b-sqrt(determinant))/(2*a);
            • Partager sur Facebook
            • Partager sur Twitter
              10 février 2006 à 11:09:16

              chez moi ca fonctionne tres bien :/
              pose ton code et le message d'erreur
              • Partager sur Facebook
              • Partager sur Twitter
                10 février 2006 à 11:22:34

                salut,orochi
                volia mon code
                #include <stdio.h>
                #include <stdlib.h>
                #include <math.h>
                int main(int argc, char *argv[])
                {
                double a =0 ,b = 0,c = 0,detreminant =0,x0 = 0,x1 = 0,x2 = 0;
                printf("Entrez un nombre a : ");
                scanf("%lf", &a);
                printf("Entrez un nombre b : ");
                scanf("%lf", &b);
                printf("Entrez un nombre c : ");
                scanf("%lf", &c);
                detreminant = (b*b)-(4*a*c);
                printf("le deteminant est alors :%lf\n",detreminant );

                if (detreminant < 0)
                {
                printf ("pas de solution dans R\n");
                }
                else if ( detreminant > 0 )
                {
                x1 = (0-b-sqrt(determinant))/(2*a);
                x2 = (0-b+sqrt(determinant))/(2*a);
                printf ("la solution est alors double x1 = %lf et x2 = %lf\n" ,x1, x2);
                }
                else // Sinon...
                {
                x0= (0-b)/(2*a);
                printf ("la solution est alors x0 = %lf\n",x0 );
                }
                system("PAUSE");
                return 0;
                }

                et voila mes message d'erreurs

                Compiler: Default compiler
                Building Makefile: "C:\Documents and Settings\tamsamani\Mes documents\projetc\projectc2\Makefile.win"
                Executing make...
                make.exe -f "C:\Documents and Settings\tamsamani\Mes documents\projetc\projectc2\Makefile.win" all
                gcc.exe -c factoriel.c -o factoriel.o -I"C:/Dev-Cpp/include"

                factoriel.c: In function `main':

                factoriel.c:41: error: `determinant' undeclared (first use in this function)
                factoriel.c:41: error: (Each undeclared identifier is reported only once
                factoriel.c:41: error: for each function it appears in.)

                make.exe: *** [factoriel.o] Error 1

                Execution terminated
                • Partager sur Facebook
                • Partager sur Twitter
                  10 février 2006 à 11:32:39

                  tu as fait une erreur dans le nom de d'une variable, au début elle sappele detreminant et apres determinant
                  • Partager sur Facebook
                  • Partager sur Twitter

                  résolution de l'équation de secon degré

                  × 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