Описать класс "Квадратное уравнение" - C#
Формулировка задачи:
Вот задание: Створити клас "Квадратне рівняння", корені якого - властивості з доступом для читання. Тип властивостей повинен бути null-сумісним. Додати також індексатор для доступу до коренів за індексом. Основна функція, яка здійснює розв'язання рівняння, повинна повертати кількість коренів, або -1. якщо коренів безмежна кількість.
Моя проблема в том, что я не понимаю это задание. Что значит, корни которого свойтва... и т.д. Что значит "свойства"?!
А, нет, в свойствах примерно разобралась.... Хотя как написать программу полностью так и не поняла))
Решение задачи: «Описать класс "Квадратное уравнение"»
textual
Листинг программы
using System; namespace ovr { class Program { private static void Main(string[] args) { Solver s=new Solver(2,-3,1); if(s.Count==-1) Console.WriteLine("No solution"); for (int i = 0; i < s.Count; i++) { Console.WriteLine(s[i]); } Console.ReadKey(); } } class Solver { public double[] Result { get; set; } public int? Count { get; set; } public Solver(double a,double b,double c) { double d = b*b - 4*a*c; if (Math.Abs(d) < 0.000001) { Result=new double[]{-b/(2*a)}; Count = 1; } else if (d > 0) { Count = 2; var x1 = (-b + Math.Sqrt(d))/(2*a); var x2 = (-b - Math.Sqrt(d)) / (2 * a); Result=new double[]{x1,x2}; } else { Result=new double[]{}; Count = -1; } } public double this[int index] { get { return Result[index]; } } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д