Résoudre une équation du second degré
Répondre à la discussion
Affichage des résultats 1 à 7 sur 7

Résoudre une équation du second degré



  1. #1
    sknbernoussi

    Résoudre une équation du second degré


    ------

    Code:
    #include<stdio.h>
    main()
    {
          float a,b,c,d,e,f;
          printf("saisir la valeur de a :");
          scanf("%f",&a);
          printf("saisir la valuer de b : ");
          scanf("%f",&b);
          printf("saisir la valeur de c : ");
          scanf("%f",&c);
          if(a==0)
          {
                  if(b==0)
                  {
                          if(c==0)
                          printf("l'ensemble des solutions de l'équation ax²+bx+c=0 est l'ensemble R");
                          else
                          printf("l'ensemble des solutions de l'équation ax²+bx+c=0 est l'ensemble vide");
                  }
                  else
                  {
                      printf("la solution de l'équation ax²+bx+c=0 est -c/b");
                  }
          }
          else
          {
              d=b*b-4*a*c;
              e=(-b-sqrt(d))/2*a;
              f=(-b+sqrt(d))/2*a;
              if(d>0)
              printf("les solutions de l'équation ax²+bx+c=0 sont : %f et %f",e,f);
              if(d=0)
              printf("la solution de l'équation ax²+bx+c=0 est ; %f",e);
              if(d<0)
              printf("l'équation ax²+bx+c=0 n'admet pas de solutons dans R");
          }
    }

    -----
    Dernière modification par JPL ; 11/11/2011 à 19h21. Motif: Ajout de la balise Code

  2. #2
    whoami

    Re : Résoudre une équation du second degré

    Bonjour,

    Et quel est le problème ?

  3. #3
    sknbernoussi

    Re : Résoudre une équation du second degré

    ah , tellement concentré sur le code que j'ai mm oublié la question, dsl
    on veut résoudre l'équation ax²+bx+c=0 et on doit écrire le programme en C équivalent

  4. #4
    polo974

    Re : Résoudre une équation du second degré

    utilise la balise code (le bouton # en mode avancé) pour insérer le code, ceci afin de rendre la chose plus lisible.
    ex:
    if(op == '+')
    {
    // oups pas bonne opération
    c=a/b;
    }
    devient:
    Code:
    if(op == '+')
    {
        // oups pas bonne opération
        c=a/b;
    }
    et n'oublie pas, en C le test d'égalité c'est == et pas =
    idem (pour info et un peu aide mémoire) pour les OU et ET logiques (donc dans un test), c'est || et &&
    (| et & sont des opérateurs bits à bits, exemple 4|2 donne 6 et 5&3 donne 1)

    au fait, on a le code (bugué) et le sujet, mais toujours pas la question....
    Jusqu'ici tout va bien...

  5. A voir en vidéo sur Futura
  6. #5
    Jack
    Modérateur

    Re : Résoudre une équation du second degré

    Citation Envoyé par sknbernoussi Voir le message
    ah , tellement concentré sur le code que j'ai mm oublié la question, dsl
    on veut résoudre l'équation ax²+bx+c=0 et on doit écrire le programme en C équivalent
    Je ne vois toujours pas de question non plus. Tu dois écrire un programme en C. Le code que tu nous donnes ne te convient pas?

    A+

  7. #6
    mp3dux

    Re : Résoudre une équation du second degré

    la question doit être ça ne marche po on fait comment ? lol



    sknbernoussi je te conseille de mettre des parenthèses sinon tu risques d'avoir des surprises.

    tes erreurs :

    1- if(d=0) --> if(d==0) comme l'a dit polo974

    2- e=(-b-sqrt(d))/2*a;
    f=(-b+sqrt(d))/2*a;
    tu calcules des racines carré de ton discriminant d or tu ne sais pas si ce dernier est négatif ou positif, cela peut planter ton programme.

    3- c'est un peu plus subtile mais sqrt est définit dans <math.h> il faut ajouter cet include

    ça devrait marcher.

    Code:
    #include<stdio.h>
    #include<math.h>  // pour sqrt(...)
    
    int main()
    	{
    	float a,b,c,d,e,f;
    	printf("saisir la valeur de a : ");
    	scanf("%f",&a);
    	printf("saisir la valuer de b : ");
    	scanf("%f",&b);
    	printf("saisir la valeur de c : ");
    	scanf("%f",&c);
    
    	if(a==0)
    		{
    		if(b==0)
    			{
    			if(c==0)
    				printf("l'ensemble des solutions de l'équation ax²+bx+c=0 est l'ensemble R");
    			else
    				printf("l'ensemble des solutions de l'équation ax²+bx+c=0 est l'ensemble vide");
    			}
    		else
    			{
    			printf("la solution de l'équation ax²+bx+c=0 est -c/b");
    			}
    		}
    	else
    		{
    		d=(b*b)- 4*(a*c);
    
    
    
    		if(d>0)   // on calcule seulement les racines carré de d seulement si cette dernière est positive
    			{
    			e=(-b-sqrt(d))/(2*a);
    			f=(-b+sqrt(d))/(2*a);
    			printf("les solutions de l'équation ax²+bx+c=0 sont : %f et %f",e,f);
    			}
    
    		if(d==0)  //  sqrt(d) =0 !
    			{		
    			//e=(-b-sqrt(d))/(2*a);
    
                            e=(-b)/(2*a);
    			printf("la solution de l'équation ax²+bx+c=0 est ; %f",e);
    			}
    
    		if(d<0)
    			printf("l'équation ax²+bx+c=0 n'admet pas de solutons dans R");
    		}
      
    	scanf("%f",&c);// pour bloquer la fermeture de la console
    	return 0;
    	}

  8. #7
    invite4492c379

    Re : Résoudre une équation du second degré

    Citation Envoyé par sknbernoussi Voir le message
    ah , tellement concentré sur le code que j'ai mm oublié la question, dsl
    on veut résoudre l'équation ax²+bx+c=0 et on doit écrire le programme en C équivalent
    Hello,

    quel est ton environnement de programmation ? quel est ton compilateur ?

    Tu as tout intérêt à demander au compilateur d'afficher tous les warnings possibles et imaginables (surtout quand on débute), avec gcc l'option est -Wall. Tu aurais eu comme messages :

    Code:
    code.c:4:1: warning: return type defaults to ‘int’ [-Wreturn-type]
    code.c: In function ‘main’:
    code.c:34:30: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
    code.c:39:1: warning: control reaches end of non-void function [-Wreturn-type]
    J'ai mis en gras le warning qui te mets sur la piste d'une erreur potentielle (et réelle dans ton cas).

    Quand un programme ne fonctionne manifestement pas, il faut aussi essayer d'utiliser le débuggueur ...

Discussions similaires

  1. Résoudre une équation du 4eme degré
    Par invitede6f3928 dans le forum Mathématiques du supérieur
    Réponses: 16
    Dernier message: 21/09/2015, 18h01
  2. Comment résoudre une équation au 2nd dégré
    Par invite107f353e dans le forum Mathématiques du collège et du lycée
    Réponses: 25
    Dernier message: 28/11/2013, 20h58
  3. Résoudre une équation du quatrième degré
    Par Aymen Ben Brik dans le forum Mathématiques du supérieur
    Réponses: 1
    Dernier message: 20/04/2009, 05h52
  4. Resoudre une equation du 2e degré
    Par invitecfdae1a3 dans le forum Mathématiques du supérieur
    Réponses: 4
    Dernier message: 04/11/2008, 22h21
  5. Facteur commun : résoudre une équation du second degré
    Par julien_4230 dans le forum Mathématiques du collège et du lycée
    Réponses: 18
    Dernier message: 01/04/2006, 15h46