Решение квадратного уравнения - 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;
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д