Задача с треугольником - C#
Формулировка задачи:
В четырёх строках находятся пары чисел - координаты точек. Числа в первых трёх строках - это координаты вершин
треугольника, в четвёртой строке - координаты тестируемой точки. Координаты точек - целые числа, для любой точки выполняются следующие условия: -10 000 ≤ x, y ≤ 10 000.
Решение задачи: «Задача с треугольником»
textual
Листинг программы
using System; using System.IO; using System.Globalization; namespace ConsoleAppTest { public struct Point { public double X { set; get; } public double Y { set; get; } public Point(double x, double y) : this() { this.X = x; this.Y = y; } } class Program { static double TriangleArea(Point a, Point b, Point c) { return Math.Abs((a.X - c.X) * (b.Y - c.Y) + (b.X - c.X) * (c.Y - a.Y)); } static Point ParsePoint(string[] lines, int index) { string[] spl = lines[index].Split(' '); return new Point(Double.Parse(spl[0], NumberStyles.Float), Double.Parse(spl[1], NumberStyles.Float)); } static void Main() { string[] lines = File.ReadAllLines("C:\\triangle.txt"); if (lines.Length > 3) { // треугольник Point a = ParsePoint(lines, 0); Point b = ParsePoint(lines, 1); Point c = ParsePoint(lines, 2); // точка Point d = ParsePoint(lines, 3); // if (TriangleArea(a, b, d) + TriangleArea(b, c, d) + TriangleArea(a, d, c) == TriangleArea(a, b, c)) Console.WriteLine("Точка внутри треугольника"); else Console.WriteLine("Точка вне треугольника"); } } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д