Решение квадратного уравнения - C# (188718)
Формулировка задачи:
Всем добрый вечер,нужно мне решить задачу с квадратным уравнением.Думал,что тут сложного?Дискриминант вычислил и все дела,считай.
Но вот в чём проблема.Проверку на 0,равно 0 оно через IF проходит.Но почему-то программа при любых значениях выдает "Действительных корней нет".
Прошу тапками не кидатся,я просто не знаю у кого помощи просить.
private void button1_Click(object sender, EventArgs e) { string inputa = inputA.Text; string inputb = inputB.Text; string inputc = inputC.Text; double a = Convert.ToDouble(inputa); double b = Convert.ToDouble(inputb); double c = Convert.ToDouble(inputc); double D = (Math.Pow(b, 2)) - (4 * a * c); if (D > 0) { double x1 = (-b + Math.Sqrt(D)) / (2 * a); double x2 = (-b - Math.Sqrt(D)) / (2 * a); string outputX1 = Convert.ToString(x1); MessageBox.Show("X1=",outputX1); string outputX2 = Convert.ToString(x2); MessageBox.Show("X2=", outputX2); } else if (D == 0) { double x1 = (-b + Math.Sqrt(D)) / (2 * a); string outputX1 = Convert.ToString(x1); MessageBox.Show("Уравнение имеет один корень", outputX1); } else { MessageBox.Show("Действительных корней нет"); }
Решение задачи: «Решение квадратного уравнения»
textual
Листинг программы
private void button1_Click(object sender, EventArgs e) { string inputa = inputA.Text; string inputb = inputB.Text; string inputc = inputC.Text; double a = Convert.ToDouble(inputa); double b = Convert.ToDouble(inputb); double c = Convert.ToDouble(inputc); double D = (Math.Pow(b, 2)) - (4 * a * c); List<double> result = DoIt(D,a,b,c); } public List<double> DoIt(double D, double a, double b, double c) { public List<double> lista = new List<double>(); if (D > 0) { double x1 = (-b + Math.Sqrt(D)) / (2 * a); double x2 = (-b - Math.Sqrt(D)) / (2 * a); string outputX1 = Convert.ToString(x1); MessageBox.Show("X1=",outputX1); string outputX2 = Convert.ToString(x2); MessageBox.Show("X2=", outputX2); lista.Add(x1); lista.add(x2); return lista; } if (D == 0) { double x1 = (-b + Math.Sqrt(D)) / (2 * a); string outputX1 = Convert.ToString(x1); MessageBox.Show("Уравнение имеет один корень", outputX1); lista.Add(x1); return lista; } MessageBox.Show("Действительных корней нет"); return null; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д