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