Рейтинг
0.0
Оцените
Оценить
Площади треугольников
Даны координаты вершин двух треугольников, требуется определить их площади и вывести номер треугольника, площадь которого больше.

Входные данные

В единственной строке задается 12
чисел через пробел — координаты шести точек: Ax,Ay,Bx,By,Cx,Cy,Dx,Dy,Ex,Ey,Fx,Fy, где точки A,B,C — вершины первого треугольника, а точки D,E,F — вершины второго.
Координаты всех точек являются вещественными числами из диапазона от −1000 до 1000, заданными с тремя знаками после запятой.

Выходные данные

Выведите «1» (без кавычек), если площадь первого треугольника больше либо равна площади второго, иначе выведите «2» (без кавычек).

Пример

Входные данные
1.000 1.000 1.000 3.000 4.000 1.000 1.000 1.000 1.000 6.000 7.000 1.000

Выходные данные
2

Примечание
Используйте спецификатор «%f» для ввода вещественных чисел.
Гарантируется, что площади каждого из треугольников больше нуля.
Сравнивать вещественные числа требуется с погрешностью 0.001, а это значит: число A будет равно числу B с точностью до 0.001, когда abs(A−B)≤0.001, где abs(A−B) возвращает абсолютное значение (A−B), то есть max(A,B)−min(A,B)
Площадь треугольника по координатам его вершин можно найти следующим образом: S=|(Bx−Ax)⋅(Ay+By)+(Cx−Bx)⋅(Cy+By)+(Ax−Cx)⋅(Ay+Cy)|/2
Попробуйте реализовать функцию getArea(), принимающую координаты трех вершин треугольника и возвращающую его площадь.
382 0
Жалоба
Комментарии (0)
По дате По дате Популярные
Нет комментарий
Войдите, чтобы комментировать

Ответы

Ответов нет

Знаешь ответ? Добавь его сюда и заработай денег! Ответы проходят модерацию. Минимум 100 символов.
Чтобы добавить ответ - нужно войти или зарегистрироваться