profile
Размещено 2 года назад по предмету Информатика от CharlotteDCommando

На языке С++!

Составить программу для решения уравнений трёх видов:


7.1 ax^4 + bx^2 + c = 0;


7.2 ax^4 + bx^3 + cx^2 + bx + a = 0


7.3 x^3 + px + q = 0


то есть составить общий код для этих трех уравнений.


я написал код, но если ввожу 0 1 0 вместо a, b, c, то получается ошибка, что значит не все случаи рассмотрены, помогите пожалуйста с этим!


#include

#include


using namespace std;

int main()

{

setlocale(LC_ALL, "RU");

double a, b, c, d, p, q, x1, x2;

int n = 0;

cout << "Введите номер уравнения: ";

cin >> n;


switch (n)

{

case 1:

cout << "Введите a, b, c: " << endl;

cin >> a >> b >> c;

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 << "x1 = x2 = " << x1 << endl;

}

else

{

cout << "Корней нет" << endl;

}

break;

case 2:

cout << "Введите a, b, c: " << endl;

cin >> a >> b >> c;

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 << "x1 = x2 = " << x1 << endl;

}

else

{

cout << "Корней нет" << endl;

}

break;

case 3:

cout << "Введите p, q: " << endl;

cin >> p >> q;

d = p * p - 4 * q;

if (d > 0)

{

x1 = (-p + sqrt(d)) / 2;

x2 = (-p - sqrt(d)) / 2;

cout << "x1 = " << x1 << ", x2 = " << x2 << endl;

}

else if (d == 0)

{

x1 = -p / 2;

cout << "x1 = x2 = " << x1 << endl;

}

else

{

cout << "Корней нет" << endl;

}

break;


default:

cout << "Нет такого уравнения" << endl;

}

return 0;

}

  1. Ответ на вопрос
    Ответ на вопрос дан jhonfedotov

    Вы уточняйте какая ошибка пожалуйста

    А вообще, если у вас а = 0, то вы немного наглеете на 0 делить :)

    1. Ответ на вопрос
      Ответ на вопрос дан CharlotteDCommando
      jhonfedotov, препод, вставляя 0 1 0 вместо a, b, c, ломает мой код. ответ получается x1 = -nan(ind), x2 = -inf. нужно что то придумать на этот счет.)
    2. Ответ на вопрос
      Ответ на вопрос дан jhonfedotov
      За это я вам и говорю. Придумайте, что делать если "вредный" пользователь вводит а = 0
    3. Ответ на вопрос
      Ответ на вопрос дан CharlotteDCommando
      jhonfedotov, "вредный". хорошее определение, мне нравится.
      что если после кейсов использовать if а=0, то корней нет? думаю это правильно.
Не тот ответ на вопрос, который вам нужен?
Найди верный ответ
Самые новые вопросы
tegysigalpa2012
Русский язык - 5 лет назад

Помогите решить тест по русскому языку тест по русскому языку «местоимение. разряды местоимений» для 6 класса 1. укажите личное местоимение: 1) некто 2) вас 3) ни с кем 4) собой 2. укажите относительное местоимение: 1) кто-либо 2) некоторый 3) кто 4) нам 3. укажите вопросительное местоимение: 1) кем-нибудь 2) кем 3) себе 4) никакой 4. укажите определительное местоимение: 1) наш 2) который 3) некий 4) каждый 5. укажите возвратное местоимение: 1) свой 2) чей 3) сам 4) себя 6. найдите указательное местоимение: 1) твой 2) какой 3) тот 4) их 7. найдите притяжательное местоимение: 1) самый 2) моего 3) иной 4) ничей 8. укажите неопределённое местоимение: 1) весь 2) какой-нибудь 3) любой 4) этот 9. укажите вопросительное местоимение: 1) сколько 2) кое-что 3) она 4) нами 10. в каком варианте ответа выделенное слово является притяжательным местоимением? 1) увидел их 2) её нет дома 3) её тетрадь 4) их не спросили

Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.