fork download
  1. using System;
  2.  
  3. class Triangle
  4. {
  5. // Статическое поле для угла (публичное для доступа извне)
  6. public static double Angle { get; private set; }
  7.  
  8. // Публичное свойство для изменения длины бедра
  9. public double Leg { get; set; }
  10.  
  11. // Установка угла для всех треугольников
  12. public static void SetAngle(double degrees)
  13. {
  14. if (0 < degrees && degrees < 90)
  15. Angle = degrees * Math.PI / 180;
  16. else
  17. throw new ArgumentOutOfRangeException("degree must be between 0 and 90");
  18. }
  19. }
  20.  
  21. class Program
  22. {
  23. static void Main()
  24. {
  25. Console.WriteLine("Введите угол между бедрами (в градусах):");
  26. try {
  27. Triangle.SetAngle(double.Parse(Console.ReadLine()));
  28. }
  29. catch (ArgumentOutOfRangeException ex) {
  30. Console.WriteLine("Введено некорректное значение угла!");
  31. return;
  32. }
  33.  
  34. Console.WriteLine("Введите длины бедер 5 треугольников:");
  35. Triangle[] triangles = new Triangle[5];
  36.  
  37. // Создание объектов и установка Leg
  38. for (int i = 0; i < 5; i++)
  39. {
  40. triangles[i] = new Triangle { Leg = double.Parse(Console.ReadLine()) };
  41. }
  42.  
  43. Console.WriteLine("Третьи стороны:");
  44. foreach (Triangle t in triangles)
  45. {
  46. Console.WriteLine($"{CalculateBase(t):F2}");
  47. }
  48. }
  49.  
  50. // Метод в Program, принимающий объект Triangle
  51. static double CalculateBase(Triangle triangle)
  52. {
  53. return 2 * triangle.Leg * Math.Sin(Triangle.Angle / 2);
  54. }
  55. }
Success #stdin #stdout 0.06s 31608KB
stdin
90
5
6
7
8
9
stdout
Введите угол между бедрами (в градусах):
Введено некорректное значение угла!