Решение квадратного уравнения - C# (188718)

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

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

Всем добрый вечер,нужно мне решить задачу с квадратным уравнением.Думал,что тут сложного?Дискриминант вычислил и все дела,считай. Но вот в чём проблема.Проверку на 0,равно 0 оно через IF проходит.Но почему-то программа при любых значениях выдает "Действительных корней нет".
Листинг программы
  1. private void button1_Click(object sender, EventArgs e)
  2. {
  3. string inputa = inputA.Text;
  4. string inputb = inputB.Text;
  5. string inputc = inputC.Text;
  6. double a = Convert.ToDouble(inputa);
  7. double b = Convert.ToDouble(inputb);
  8. double c = Convert.ToDouble(inputc);
  9. double D = (Math.Pow(b, 2)) - (4 * a * c);
  10. if (D > 0)
  11. {
  12. double x1 = (-b + Math.Sqrt(D)) / (2 * a);
  13. double x2 = (-b - Math.Sqrt(D)) / (2 * a);
  14. string outputX1 = Convert.ToString(x1);
  15. MessageBox.Show("X1=",outputX1);
  16. string outputX2 = Convert.ToString(x2);
  17. MessageBox.Show("X2=", outputX2);
  18. }
  19. else if (D == 0)
  20. {
  21. double x1 = (-b + Math.Sqrt(D)) / (2 * a);
  22. string outputX1 = Convert.ToString(x1);
  23. MessageBox.Show("Уравнение имеет один корень", outputX1);
  24. }
  25. else
  26. {
  27. MessageBox.Show("Действительных корней нет");
  28. }
Прошу тапками не кидатся,я просто не знаю у кого помощи просить.

Решение задачи: «Решение квадратного уравнения»

textual
Листинг программы
  1. private void button1_Click(object sender, EventArgs e)
  2. {
  3. string inputa = inputA.Text;
  4.             string inputb = inputB.Text;
  5.             string inputc = inputC.Text;
  6.             double a = Convert.ToDouble(inputa);
  7.             double b = Convert.ToDouble(inputb);
  8.             double c = Convert.ToDouble(inputc);
  9.             double D = (Math.Pow(b, 2)) - (4 * a * c);
  10. List<double> result = DoIt(D,a,b,c);
  11. }
  12.  
  13. public List<double> DoIt(double D, double a, double b, double c)
  14. {
  15. public List<double> lista = new List<double>();
  16. if (D > 0)
  17.             {
  18.                 double x1 = (-b + Math.Sqrt(D)) / (2 * a);
  19.                 double x2 = (-b - Math.Sqrt(D)) / (2 * a);
  20.                 string outputX1 = Convert.ToString(x1);
  21.                 MessageBox.Show("X1=",outputX1);
  22.                 string outputX2 = Convert.ToString(x2);
  23.                 MessageBox.Show("X2=", outputX2);
  24.               lista.Add(x1);
  25.               lista.add(x2);
  26.               return lista;
  27.             }
  28.             if (D == 0)
  29.             {
  30.                 double x1 = (-b + Math.Sqrt(D)) / (2 * a);
  31.                 string outputX1 = Convert.ToString(x1);
  32.                 MessageBox.Show("Уравнение имеет один корень", outputX1);
  33.                 lista.Add(x1);
  34.                 return lista;
  35.             }
  36.            
  37.                 MessageBox.Show("Действительных корней нет");
  38.             return null;
  39. }

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


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

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

15   голосов , оценка 3.867 из 5

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

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

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