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