Επίλυση δευτεροβάθμιας εξίσωσης στη C++ (εμφώλευση if)
Επίλυση της εξίσωσης δευτέρου βαθμού:
$$ a x^2 + b x + c = 0 $$
με πραγματικούς συντελεστές και αναζήτηση πραγματικών ριζών.
#include <iostream> #include <math.h> using namespace std; int main () { double a, b, c; double d, x1, x2; cout << "Λύνω την εξίσωση ax^2 + bx + c = 0" << endl; cout << "Δώσε το a: "; cin >> a; cout << "Δώσε το b: "; cin >> b; cout << "Δώσε το c: "; cin >> c; if (a == 0) { if (b == 0) { if (c == 0) { cout << "Αόριστη εξίσωση" << endl; } else { cout << "Αδύνατη πρωτοβάθμια εξίσωση" << endl; } } else { x1 = -c/b; cout << "Μία ρίζα (πρωτοβάθμια): " << "x= " << x1 << endl; } } else { d = b*b - 4*a*c; if (d > 0) { x1 = (-b+sqrt(d)) / (2*a); x2 = (-b-sqrt(d)) / (2*a); cout << "Βρήκα δύο πραγματικές ρίζες: " << "x1= " << x1 << " x2= " << x2<< endl; } else if (d == 0) { x1 = -b / (2*a); cout << "Βρήκα μια διπλή ρίζα: " << "x= " << x1 << endl; } else { cout << "Με αρνητική διακρίνουσα δεν υπάρχουν πραγματικές ρίζες " << endl; } } return 0; }
Συνδεθείτε για περισσότερες δυνατότητες αλληλεπίδρασης,
σχολιασμοί, εξωτερικοί σύνδεσμοι, βοήθεια, ψηφοφορίες, αρχεία, κτλ.
σχολιασμοί, εξωτερικοί σύνδεσμοι, βοήθεια, ψηφοφορίες, αρχεία, κτλ.
Εκπαιδευτικό υλικό από τον
Αθανάσιο Σταυρακούδη
σας παρέχετε κάτω από την άδεια
Creative Commons Attribution-NonCommercial-ShareAlike 4.0 License.
Σας παρακαλώ να ενημερωθείτε για κάποιους επιπλέον περιορισμούς
http://stavrakoudis.econ.uoi.gr/stavrakoudis/?iid=401.