Решение задачи Квадратное уравнение с Acmp

Без пояснения   Просмотров: 42


Сложно найти человека, который любит решать однообразные задачки по математике. В последнее время школьникам стало легче, ведь с появлением компьютеров почти в каждой квартире стало существенно проще проверять себя.

Но программы, в которых решение уравнений является стандартной функцией, установлены не везде. Напишите программу, которая сможет решить уравнение

ax2 + bx + c = 0

при заданных коэффициентах a, b и c.

Код

#include <iostream>
#include <cmath>
#include <iomanip>
  
using namespace std;
  
int main()
{
    double a,b,c;
    double x1,x2,d;
    cin >> a >> b >> c;
    if(!a && !b && !c){
        cout << -1;
        return 0;
    }
     
    if(a){
        d = b * b - 4.0 * a * c;
        if(d > 0){
            cout << 2 << endl;
            x1 = (-b - sqrt(d))/(2 * a);
            x2 = (-b + sqrt(d))/(2 * a);
                if(x1)
                    cout << fixed << setprecision(11) << x1;
                else
                    cout <<fixed << setprecision(11) << 0;
            cout << endl;
            if(x2)
                cout <<fixed <<  setprecision(11) << x2;
                else
                    cout <<fixed << setprecision(11) <<  0;
              
              
        }
        else
            if(!d){
                cout << 1 << endl;
                x1 = -b / (2 * a);
                if(x1)
                    cout <<fixed << setprecision(11) <<  x1;
                else
                    cout << fixed << setprecision(11) << 0;
            }
            else
                if(d < 0)
                    cout << 0;
    }
    else
        if(b){
            cout << 1 << endl;
            if(c)
                x1 = -c / b;
            else
                x1 = 0;
            cout << fixed << setprecision(11) << x1;
        }
        else
            if(c)
                cout << 0;
    return 0;
}

         

Администратор Photo Автор: Администратор



Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться