Николай Веселуха
Высший разум
(360666)
3 года назад
using System;
using System.Globalization;
namespace Answer {
class Program {
static void Main() {
var a = point("A");
var b = point("B");
var c = point("C");
var t = new Triangle(a, b, c);
var at = t.Area();
var sum
= new Triangle(new Point{}, b, c).Area()
+ new Triangle(a, new Point{}, c).Area()
+ new Triangle(a, b, new Point{}).Area();
Console.WriteLine((at - sum) < 1e-15 ? "Да!" : "Нет!");
Console.ReadKey();
}
static double Real(string msg) {
double value;
do {
Console.Write(msg);
} while (!double.TryParse(Console.ReadLine(), NumberStyles.Float, new CultureInfo("ru-RU"), out value));
return value;
}
static Point point(string pn) {
var p = new Point {
X = Real(pn + "x: "),
Y = Real(pn + "y: ")
};
return p;
}
}
public class Point {
public double X { get; set; }
public double Y { get; set; }
public Point() {
X = 0;
Y = 0;
}
public double Length(Point p) {
return Math.Sqrt(Math.Pow(X - p.X, 2) + Math.Pow(Y - p.Y, 2));
}
}
class Triangle {
private Point a, b, c;
public Triangle() {}
public Triangle(Point a, Point b, Point c) {
this.a = a;
this.b = b;
this.c = c;
}
public double Perimeter() {
return a.Length(b) + b.Length(c) + c.Length(a);
}
public double Area() {
var p = Perimeter() / 2;
return Math.Sqrt(p* (p - a.Length(b)) * (p - b.Length(c)) * (p - c.Length(a)));
}
}
}
координат треугольнику с вершинами (x1,y1), (x2,y2), (x3,y3)?