По координатам вершин двух треугольников, определите их площадь и выведите на печать площадь максимального треугольника.Вычисление длины стороны, площ - C#
Формулировка задачи:
По координатам вершин двух треугольников, определите их площадь и выведите на печать площадь максимального треугольника.Вычисление длины стороны, площади треугольника оформите в виде функций.
Решение задачи: «По координатам вершин двух треугольников, определите их площадь и выведите на печать площадь максимального треугольника.Вычисление длины стороны, площ»
textual
Листинг программы
class Point
{
public int p1;
public int p2;
}
class Program
{
static void Main(string[] args)
{
Point A = new Point();
Point B = new Point();
Point C = new Point();
Point D = new Point();
Point E = new Point();
Point F = new Point();
double a, b, c, S1;
double d, e, f, S2;
Console.WriteLine("Введите координаты точки A");
A.p1 = Int32.Parse(Console.ReadLine());
A.p2 = Int32.Parse(Console.ReadLine());
Console.WriteLine("Введите координаты точки B");
B.p1 = Int32.Parse(Console.ReadLine());
B.p2 = Int32.Parse(Console.ReadLine());
Console.WriteLine("Введите координаты точки C");
C.p1 = Int32.Parse(Console.ReadLine());
C.p2 = Int32.Parse(Console.ReadLine());
Console.WriteLine("Введите координаты точки D");
D.p1 = Int32.Parse(Console.ReadLine());
D.p2 = Int32.Parse(Console.ReadLine());
Console.WriteLine("Введите координаты точки E");
E.p1 = Int32.Parse(Console.ReadLine());
E.p2 = Int32.Parse(Console.ReadLine());
Console.WriteLine("Введите координаты точки F");
F.p1 = Int32.Parse(Console.ReadLine());
F.p2 = Int32.Parse(Console.ReadLine());
a = lenght(A,B);//Длинна стороны треугольника
b = lenght(B,C);//Длинна стороны треугольника
c = lenght(C,A);//Длинна стороны треугольника
S1 = square(a, b, c);//Площадь первого треугольника
d = lenght(D, E);//Длинна стороны треугольника
e = lenght(E, F);//Длинна стороны треугольника
f = lenght(F, D);//Длинна стороны треугольника
S2 = square(d,e,f);//Площадь второго треугольника
double MaxS;
MaxS = S1;
string t = "треугольник ABC";
if (S2 > MaxS) { MaxS = S2; t = "треугольник DEF"; }
Console.WriteLine("Max square: {0}, {1}", MaxS, t);
Console.ReadKey();
}
static double lenght(Point A, Point B)
{
double L;
L=Math.Sqrt(Math.Pow(A.p1 - B.p1, 2) + Math.Pow(A.p2 - B.p2, 2));
return L;
}
static double square(double a,double b,double c)
{
double Perimetr = a + b + c;
double S = Math.Sqrt(Perimetr * (Perimetr - a) * (Perimetr - b) * (Perimetr - c));
return S;
}
}