// ch 4 wksht 2 #include #include using namespace std; int main() { int a, b, c; double discriminant, x1, x2, root1, imaginary1; cin >> a >> b >> c; discriminant = pow(double (b),2) - 4*a*c; if (discriminant < 0) // have 2 imaginary roots { root1 = -b/(2*a); imaginary1 =sqrt(-discriminant)/(2*a); if (imaginary1 > 0) { cout << root1 << "+" << imaginary1 << "i" << endl; cout << root1 << "-" << imaginary1 << "i" << endl; } else { imaginary1 = -imaginary1; cout << root1 << "+" << imaginary1 << "i" << endl; cout << root1 << "-" << imaginary1 << "i" << endl; } } else // have 1 or 2 real roots { x1 = (-b + sqrt(double (b)*b - 4*a*c))/(2*a); x2 = (-b - sqrt(double (b)*b - 4*a*c))/(2*a); if (x1 == x2) { cout << x1 << endl; } else { cout << x1 << endl << x2 << endl; } } return 0; }