Написать функцию, которая обеспечивает решение квадратного уравнения - C#
Формулировка задачи:
public static double Kvadretnoe_Uravnenie( double q, double w, double e, double r1, ref double r2)
{
double D = w * w - 4 * q * e;
if (D > 0)
{
r1 = (-w + Math.Sqrt(D)) / (2 * q);
return r1;
r2 = (-w - Math.Sqrt(D)) / (2 * q);
return r2;
}
if (D < 0)
{
Console.WriteLine("Действительных корней нет!");
}
if (D == 0)
{
r1 = -w / (2 * q);
return r1;
}
}
static void Main()
{
double a, b, c;
Console.Write("Введите число для вычисления факториала = ");
a = Convert.ToInt32(Console.ReadLine());
b = Convert.ToInt32(Console.ReadLine());
c = Convert.ToInt32(Console.ReadLine());
double A = Kvadretnoe_Uravnenie(a, b, c);
Console.WriteLine("Факториал \"{1}\" = {0}",Fact(n), n);
Console.ReadKey();Решение задачи: «Написать функцию, которая обеспечивает решение квадратного уравнения»
textual
Листинг программы
public static double[] QuadraticEquationSolve(double a, double b, double c)
{
if (a==0 && b==0) //вырожденный случай
return c == 0 ? null : new double[]{};
if (a==0) //линейное уравнение
return new[]{-c / b};
double D = b * b - 4 * a * c;
if (D > 0)
return new[]{(-b + Math.Sqrt(D)) / (2 * a), (-b - Math.Sqrt(D)) / (2 * a)}; //два корня в массиве
if (D < 0)
return new double[]{};
return new[] {-b / (2 * a)};
}