Bonjour,
J'ai un calcul à faire qui neccessite apparement de trouver les solutions complexes. Hors je dois implémenter ceci dans un algorithme en C/C++ et je ne sais pas comment utiliser i.
Le détail de mon équation n'est pas nécessaire à lire pour comprendre mon problème, pour pouvez aller au TODO :
Voici mon équation :
J'ai un rectangle avec:
* w sa largeur (width)
* h sa hauteur (height)
* r son ratio tel que : h = w * r
Ce rectangle est entouré d'un grand Rectangle tel que:
* W sa largeur = (espace a droite (Droite) + espace à gauche (Gauche)+ largeur du petit rectangle (w)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 *********** * * * ****** * * ****** * * * ***********
* H sa hauteur = (espace en bas (Bas) + espace en haut (HAUT) + hauteur du petit rectangle (h).
On me donne la surface que doit faire le grand Rectangle, et je dois trouver la largeur du petit rectangle. Je pose donc :
* W x H = surface
* (w + Droite + Gauche) x (h + Bas + Haut) = surface
* (h x r + Droite + Gauche) x (h + Bas + Haut) = surface
TODO :
Ce qui me donne une équation du second degré avec :
ax^2 + bx + c = 0
a = r
b = r x Haut + r * Bas + Gauche + Droite
c = - surface + Bas x Gauche + Gauche x Haut + Droite x Bas + Droite * Haut
Je me retrouve donc face à des cas où b = 0, donc le discriminant est négatif, et je dois trouver les solutions en fonction de i
z1 = -b-i.d/2a et z2=-b+i.d/2a
Comment fait on pour utiliser i en C++?
Partager