Написать функцию, обеспечивающую решение квадратного уравнения - C#

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

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

Написать функцию, обеспечивающую решение квадратного уравнения. Параметрами функции должны быть коэффициенты a, b, c (входные параметры) и корни уравнения x1, x2 (выходные параметры). Значение, возвращаемое функцией, должно передавать в вызывающую программу информацию о наличии у уравнения корней: 2 – два разных корня, 1 – корни одинаковые, 0 – уравнение не имеет решения. Кроме того, функция должна проверять корректность исходных данных. Если исходные данные неверные, то функция должна возвращать -1.
Листинг программы
  1. static void Main(string[] args)
  2. {
  3. double x1, x2;
  4. Console.Write("Введите a:");
  5. double a = Convert.ToDouble(Console.ReadLine());
  6. Console.Write("Введите b:");
  7. double b = Convert.ToDouble(Console.ReadLine());
  8. Console.Write("Введите c:");
  9. double c = Convert.ToDouble(Console.ReadLine());
  10. switch (Program.Root(out x1, out x2))
  11. {
  12. case -1:
  13. Console.WriteLine("Исходные данные неверные");
  14. break;
  15. case 0:
  16. Console.WriteLine("Нет решения среди действительных значений,т.к дискриминант меньше нуля");
  17. break;
  18. case 1:
  19. Console.WriteLine("имеет один корень уравнения{0}", x1);
  20. break;
  21. case 2:
  22. Console.WriteLine("Имеет два корня уравнения: первый корень {0}\nвторой корень {1}", x1, 2);
  23. break;
  24. }
  25. }
  26. static double Root(double a,double b,double c,out double x1,out double x2)
  27. {
  28. x1 = 0;
  29. x2 = 0;
  30. double d =Math.Pow(b,2)-4*a*c;
  31. if (d < 0)
  32. {
  33. return 0;
  34. }
  35. else if (d == 0)
  36. {
  37. x1 = -b / (2 * a);
  38. return 1;
  39. }
  40. else if (d > 0)
  41. {
  42. x1 = -b / (2 * a) - (Math.Sqrt(d)) / (2 * a);
  43. x2 = -b / (2 * a) + (Math.Sqrt(d)) / (2 * a);
  44. return 2;
  45. }
  46. else
  47. return -1;
  48. }
Непонятно условие задания. Что нужно возвращать индексы или корни? Если индексы, то у меня ошибка в switch case, нельзя использовать тип double.

Решение задачи: «Написать функцию, обеспечивающую решение квадратного уравнения»

textual
Листинг программы
  1. if(a==0) return -1;

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


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

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

12   голосов , оценка 4.25 из 5

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

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

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