#include <iostream>
#include <cmath>
using namespace std;
void rozwiaz(float a, float b, float c)
{
float delta, pdelta, x1, x2;
cout << "\nRownanie: " << a << "x^2 + " << b << "x + " << c << " = 0\n";
delta = b * b - 4 * a * c;
cout << "Delta = " << delta << endl;
if (delta < 0)
{
cout << "Brak pierwiastkow rzeczywistych\n";
return;
}
pdelta = sqrt(delta);
// wybór stabilniejszego wzoru
if (b > 0)
x1 = (-b - pdelta) / (2 * a);
else
x1 = (-b + pdelta) / (2 * a);
// drugi pierwiastek z Viety
x2 = c / (a * x1);
cout << "x1 = " << x1 << endl;
cout << "x2 = " << x2 << endl;
cout << "Sprawdzenie Viety:\n";
cout << "x1 + x2 = " << x1 + x2
<< " (-b/a = " << -b / a << ")\n";
cout << "x1 * x2 = " << x1 * x2
<< " (c/a = " << c / a << ")\n";
}
int main()
{
rozwiaz(3.0f, 4.0f, 5.0f);
rozwiaz(1.0f, 10000.0f, 1.0f);
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y21hdGg+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdm9pZCByb3p3aWF6KGZsb2F0IGEsIGZsb2F0IGIsIGZsb2F0IGMpCnsKICAgIGZsb2F0IGRlbHRhLCBwZGVsdGEsIHgxLCB4MjsKCiAgICBjb3V0IDw8ICJcblJvd25hbmllOiAiIDw8IGEgPDwgInheMiArICIgPDwgYiA8PCAieCArICIgPDwgYyA8PCAiID0gMFxuIjsKCiAgICBkZWx0YSA9IGIgKiBiIC0gNCAqIGEgKiBjOwogICAgY291dCA8PCAiRGVsdGEgPSAiIDw8IGRlbHRhIDw8IGVuZGw7CgogICAgaWYgKGRlbHRhIDwgMCkKICAgIHsKICAgICAgICBjb3V0IDw8ICJCcmFrIHBpZXJ3aWFzdGtvdyByemVjenl3aXN0eWNoXG4iOwogICAgICAgIHJldHVybjsKICAgIH0KCiAgICBwZGVsdGEgPSBzcXJ0KGRlbHRhKTsKCiAgICAvLyB3eWLDs3Igc3RhYmlsbmllanN6ZWdvIHd6b3J1CiAgICBpZiAoYiA+IDApCiAgICAgICAgeDEgPSAoLWIgLSBwZGVsdGEpIC8gKDIgKiBhKTsKICAgIGVsc2UKICAgICAgICB4MSA9ICgtYiArIHBkZWx0YSkgLyAoMiAqIGEpOwoKICAgIC8vIGRydWdpIHBpZXJ3aWFzdGVrIHogVmlldHkKICAgIHgyID0gYyAvIChhICogeDEpOwoKICAgIGNvdXQgPDwgIngxID0gIiA8PCB4MSA8PCBlbmRsOwogICAgY291dCA8PCAieDIgPSAiIDw8IHgyIDw8IGVuZGw7CgogICAgY291dCA8PCAiU3ByYXdkemVuaWUgVmlldHk6XG4iOwogICAgY291dCA8PCAieDEgKyB4MiA9ICIgPDwgeDEgKyB4MgogICAgICAgICA8PCAiICAgKC1iL2EgPSAiIDw8IC1iIC8gYSA8PCAiKVxuIjsKICAgIGNvdXQgPDwgIngxICogeDIgPSAiIDw8IHgxICogeDIKICAgICAgICAgPDwgIiAgIChjL2EgPSAiIDw8IGMgLyBhIDw8ICIpXG4iOwp9CgppbnQgbWFpbigpCnsKICAgIHJvendpYXooMy4wZiwgNC4wZiwgNS4wZik7CiAgICByb3p3aWF6KDEuMGYsIDEwMDAwLjBmLCAxLjBmKTsKCiAgICByZXR1cm4gMDsKfQoK