Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- namespace _1.Triangle
- {
- using System;
- using System.Linq;
- public class Point
- {
- public int X { get; set; }
- public int Y { get; set; }
- }
- public class Triangle
- {
- public static void Main(string[] args)
- {
- checked
- {
- Point[] trianglePoints = new Point[3];
- for (int i = 0; i < trianglePoints.Length; i++)
- {
- int pointX = int.Parse(Console.ReadLine());
- int pointY = int.Parse(Console.ReadLine());
- Point nextPoint = new Point { X = pointX, Y = pointY };
- trianglePoints[i] = nextPoint;
- }
- double[] sidesTriangle = new double[trianglePoints.Length];
- for (int j = 0; j < sidesTriangle.Length; j++)
- {
- sidesTriangle[j] = DistanceBetweenTwoPoints(trianglePoints[j], trianglePoints[(j + 1) % sidesTriangle.Length]);
- }
- bool isTriangle = (sidesTriangle[0] + sidesTriangle[1]) > sidesTriangle[2] && (sidesTriangle[1] + sidesTriangle[2]) > sidesTriangle[0] && (sidesTriangle[0] + sidesTriangle[2]) > sidesTriangle[1];
- if (isTriangle)
- {
- Console.WriteLine("Yes");
- double triangleArea = CalculateTriangleAreaByHeronFormula(sidesTriangle);
- Console.WriteLine("{0:f2}", triangleArea);
- }
- else
- {
- Console.WriteLine("No");
- Console.WriteLine("{0:f2}", sidesTriangle[0]);
- }
- }
- }
- private static double CalculateTriangleAreaByHeronFormula(double[] sides)
- {
- checked
- {
- double perimeter = sides.Sum() / 2d;
- double area = perimeter;
- for (int i = 0; i < sides.Length; i++)
- {
- area *= perimeter - sides[i];
- }
- area = Math.Sqrt(area);
- return area;
- }
- }
- private static double DistanceBetweenTwoPoints(Point point1, Point point2)
- {
- checked
- {
- double distance = Math.Sqrt(((point2.X - point1.X) * (point2.X - point1.X)) + ((point2.Y - point1.Y) * (point2.Y - point1.Y)));
- return distance;
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement