Решение квадратного уравнения - 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;
}