Вычислить площадь полученного треугольника - C#

Узнай цену своей работы

Формулировка задачи:

Ввести три числа. Если они могут быть длинами сторон разностороннего остроугольного треугольника, вывести их в порядке возрастания, вычислить площадь полученного треугольника. надо сделать через классы

Решение задачи: «Вычислить площадь полученного треугольника»

textual
Листинг программы
 class Triangle
    {
        private int a;
        private int b;
        private int c;
        public Triangle(int a, int b, int c)
        {
            Swap(ref a,ref b,ref c);
            //проверка если значения могут быть длинами сторон  треугольника
            if (c > a + b)
                throw new Exception("triangle can not be created");
            this.A = a;
            this.B = b;
            this.C = c;
        }
 
        
        #region Properties
 
        public int A
        {
            get { return this.a;}
            private set
            {
                CheckValue(value);
                this.a = value;
            }
        }
 
        public int B
        {
            get { return this.b; }
            private set
            {
                CheckValue(value);
                this.b = value;
            }
        }
 
        public int C
        {
            get { return this.c; }
            private set
            {
                CheckValue(value);
                this.c = value;
            }
        }
        #endregion
 
        
 
        // Вычисляем площадь по формуле Герона 
        //p- полупериметр, p=(a+b+c)/2
        // S=корень(p(p-a)(p-b)(p-c))
        public double GetSquare()
        {
            double p = (double)this.GetPerimeter() / 2;
            return Math.Sqrt(p * (p - this.A) * (p - this.B) * (p - this.C));
        }
 
        //вывод сторон  порядке возрастания
        public override string ToString()
        {
            return String.Format("a = {0}\nb = {1}\nc = {2}\n", this.A, this.B, this.C);
        }
 
        //метод для сортировки сторон порядке возрастания
        private void Swap(ref int a, ref int b, ref int c)
        {
            int[] arr = { a, b, c };
            Array.Sort(arr);
            a = arr[0];
            b = arr[1];
            c = arr[2];
        }
 
        //метод для проверки значения сторон
        private void CheckValue(int value)
        {
            if (value <= 0)
                throw new Exception("Value can not be less than zero");
        }
        //находим периметр
        private int GetPerimeter()
        {
            return this.A + this.B + this.C;
        }
    }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 3.917 из 5
Похожие ответы