Задать вопрос
@IQI

Как определить координаты вершины C треугольника, чтобы площадь треугольника ABC была минимальной?

Здравствуйте! У меня такая задача:
Пусть в треугольнике ABC заданные координаты вершин A = (0,0), B = (а, b), где а и
b - целые числа, вводимые пользователем. Разработать функцию (метод), которая
определяет следующие цели координаты вершины C = (x, y), чтобы площадь треугольника ABC
была минимальной (среди не равны нулю). Всего функций (методов) должно
быть или две (CalcMinOfSquares и CalcTriangleSquareByPoints), или три (при исчислении
площади по формуле Герона ввести также функцию (метод) CalcSideLength, которая
превращает координаты концов стороны в ее длину) . Поиск минимальной
площади делать путем перебора возможных координат точки C.
Я использовал 2 метода (CalcTriangleSquareByPoints и CalcSideLength), но не могу понять как доделать
Вот код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace 123
{
    class Program
    {
        static double CalcSideLength(int x1, int y1, int x2, int y2)
        {
            return Math.Sqrt(Math.Pow(x2 - x1, 2) + Math.Pow(y2 - y1, 2));
        }
         static double CalcTriangleSquareByPoints(int x1, int y1, int x2, int y2, int x3, int y3)
        {
            double a = CalcSideLength(x1,y1,x2,y2);
            double b = CalcSideLength(x3,y3,x2,y2);
            double c = CalcSideLength(x1,y1,x3,y3);
            double p = (a + b + c) / 2;
            return Math.Sqrt(p * (p - a) * (p - b) * (p - c));
        }
         static double CalcMinOfSquares(int x1, int y1, int x2, int y2, int x3, int y3) 
         {

         }
         static void Main(string[] args)
        {

        }
    }
}
  • Вопрос задан
  • 135 просмотров
Подписаться 1 Простой 1 комментарий
Пригласить эксперта
Ответы на вопрос 2
@IQI Автор вопроса
Как записать это в программу? Циклами? Я просто уже 3-тий день голову ломаю
Ответ написан
В задаче не сказано что x и y должны быть целыми числами.
Если расположить точку C на отрезке AB, после чего сместить её в любом из направлений на любую не нулевую величину - получится треугольник. Уменьшая значение смещения мы будем уменьшать площадь итогового треугольника. Итого при значении смещения стремящегося к нулю - значение площади тоже будет стремиться к нулю.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы