Как определить количество корней квадратного уравнения? - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Если даны вещественные числа а,b,c, то как можно определить количество корней уравнения ax^2+bx+c=0? Если корней бесконечно, чтоб выводил infinity. Примерно понимаю как, но все-таки чего-то не хватает

Решение задачи: «Как определить количество корней квадратного уравнения?»

textual
Листинг программы
  1. #include <iostream>
  2. #include <cmath>
  3.  
  4. void getRoots(double a, double b, double c, int &n, double &x1, double &x2) {
  5.     double d = b*b-4*a*c;
  6.     n = (d>0?2:(d<0?0:1));
  7.     x1 = (-sqrt(d)-b)/(2*a);
  8.     x2 = (d>0?(sqrt(d)-b)/(2*a):x1);
  9. }
  10.  
  11. using namespace std;
  12.  
  13. int main()
  14. {
  15.     int n = 0;
  16.     double a=1, b = 0, c = 1, x1 = 0, x2 = 0;
  17.     getRoots(a, b, c, n, x1, x2);
  18.     cout << "n = " << n << ", x1 = " << x1 << ", x2 = " << x2 << endl;
  19. }

Объяснение кода листинга программы

  1. Включаются необходимые заголовочные файлы для работы с математическими функциями и вводом/выводом данных
  2. Создается функция getRoots, принимающая на вход коэффициенты квадратного уравнения и возвращающая количество корней и сами корни
  3. Внутри функции происходит вычисление дискриминанта (d) и определение количества корней (n) в зависимости от его значения
  4. При наличии двух корней, их значения (x1 и x2) вычисляются с использованием формулы квадратного уравнения
  5. При наличии одного корня, в качестве второго корня используется значение x1
  6. В функции main создаются переменные для хранения количества корней, коэффициентов и самих корней
  7. Вызывается функция getRoots с передачей ей значений коэффициентов квадратного уравнения
  8. Результат работы функции выводится на экран с помощью функции cout
  9. Значения переменных n, x1 и x2 после вызова функции getRoots сохраняются в переменной main, и они выводятся на экран

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 3.727 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы