Résoudre une équation de deuxième degré C++

Fermé
rif59 Messages postés 41 Date d'inscription mercredi 27 février 2008 Statut Membre Dernière intervention 16 novembre 2008 - Modifié le 26 sept. 2022 à 11:41
 Noureddine - 21 nov. 2011 à 06:24

Bonjour,

Je souhaite écrire une fonction en C++ qui permet de résoudre une équation du second degré, mais mon code ne marche pas. Est-ce que quelqu'un peut me dire où est le problème, ce serait gentil ! Merci
 

void equation (
  double delta,
  double A,
  double B,
  double a,
  double b,
  double c,
  double x1,
  double x2,
  double y1,
  double y2
) {
  delta = b * b - 4 * a * c ;
  x1 = (-b - (sqrt(delta)))/(2 * a);
  y1 = A * x1 + B;
  x2 = (-b + (sqrt(delta)))/(2 * a);
  y2 = A * x2 + B;
}

int main()
{
  double x1;
  double x2;
  double y1;
  double y2;
  double delta;
  equation (delta, 2., 3., 4., 10., 6., x1, x2, y1, y2);
  cout << x1 << " " << x2 << " " << y1 << " " << y2 << endl;
}
A voir également:

4 réponses

Remplace les variables x1, x2, y1 et y2 comme variables globales.
Puis enlève-les du prototype de ta fonction: tu dois avoir le code suivant :
 

double x1;
double x2;
double y1;
double y2;

void equation (double delta,double A, double B, double a, double b, double c) {
  delta = b * b - 4 * a * c ;
  x1 = (-b - (sqrt(delta))) / (2 * a);
  y1 = A * x1 + B;
  x2 = (-b + (sqrt(delta))) / (2 * a);
  y2 = A * x2 + B;
}

int main() {
  double delta;
  equation (delta, 2., 3., 4., 10., 6., x1, x2, y1, y2);
  cout << x1 << " " << x2 << " " << y1 << " " << y2 << endl;
  getch();
}



Essaie et tiens-moi au courant

10