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