1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
| using System;
using System.Collections.Generic;
using System.Linq;
namespace task2
{
class Program
{
static void Main()
{
List<Triangle> A = new List<Triangle>();
A.Add(new Triangle(5, 5, 3));
A.Add(new Triangle(3, 7, 5));
A.Add(new Triangle(4, 7, 2));
Console.Write("Наибольшая площадь треугольника: ");
Console.WriteLine(A.Max(a => a.GetPloshad()));
try
{
List<PramTreugol> B = new List<PramTreugol>();
B.Add(new PramTreugol(5, 12, 13));
B.Add(new PramTreugol(10, 24, 26 ));
Console.Write("Наименьшая гипотенуза: ");
Console.WriteLine(B.Min(a => a.c));
}
catch(Exception ex)
{
Console.WriteLine(ex.Message);
}
}
}
class Triangle
{
public double a { get; set; }
public double b { get; set; }
public double c { get; set; }
public Triangle()
{
}
public Triangle(double a, double b, double c)
{
this.a = a;
this.b = b;
this.c = c;
}
public double GetUgol1()
{
return a / c;
}
public double GetUgol2()
{
return a / b;
}
public double GetUgol3()
{
return c / b;
}
public double GetPerimetr()
{
return a + b + c;
}
public double GetPolperimetr()
{
return (a + b + c) / 2;
}
public double GetVisota()
{
return (2 * Math.Sqrt((a + b + c) * ((a + b + c) - a) * ((a + b + c) - b) * ((a + b + c) - c)) / a);
}
public double GetPloshad()
{
return (a * (2 * Math.Sqrt((a + b + c) * ((a + b + c) - a) * ((a + b + c) - b) * ((a + b + c) - c)) / a) / 2);
}
}
class PramTreugol : Triangle
{
public PramTreugol(double a, double b, double c) : base(a, b, c)
{
if (!(System.Math.Pow(c, 2) == System.Math.Pow(a, 2) + System.Math.Pow(b, 2)))
{
throw new Exception("Треугольник не прямоугольный!");
}
}
}
} |