усть в треугольнике ABC заданные координаты вершин A = (0,0), B = (а, b), где а и
b - целые числа, вводимые пользователем. Разработать функцию (метод), которая
определяет следующие цели целочисленные координаты вершины C = (x, y), чтобы площадь треугольника ABC
была минимальной (среди не равны нулю). Всего функций (методов) должно
быть или две (CalcMinOfSquares и CalcTriangleSquareByPoints), или три (при исчислении
площади по формуле Герона ввести также функцию (метод) CalcSideLength, которая
превращает координаты концов стороны в ее длину) . Поиск минимальной
площади делать путем перебора возможных координат точки C.
Я использовал 2 метода (CalcTriangleSquareByPoints и CalcSideLength), но не могу понять как доделать уже 4-тий день пытаюсь написать данный код не могу как понять как дальше писать и как циклом сформулировать перебор.
Вот код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace пр33
{
class Program
{
static double SideLength(double x1, double y1, double x2, double y2)
{
return Math.Sqrt(Math.Pow(x2 - x1, 2) + Math.Pow(y2 - y1, 2));
}
static double SquareByPoints(double x1, double y1, double x2, double y2, double x3, double y3)
{
double AB = SideLength(x1, y1, x2, y2);
double BC = SideLength(x2, y2, x3, y3);
double CA = SideLength(x3, y3, x1, y1);
double p = (AB + BC + CA) / 2;
return Math.Sqrt(p * (p - AB) * (p - BC) * (p - CA));
}
static void Main(string[] args)
{
double x1= 0;
double y1= 0;
double x2= double.Parse(Console.ReadLine());
double y2= double.Parse(Console.ReadLine());
double x3= 1;
double y3 = 1;
}
}
}