ML26. Площадь треугольника

Задача.

Найти площадь треугольника по заданным координатам его вершин [latex] A(x_a,y_a,z_a )[/latex], [latex]B(x_b,y_b,z_b)[/latex] и [latex]C(x_c,y_c,z_c)[/latex].

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

Координаты вершин треугольника [latex]ABC[/latex]

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

Площадь [latex]S[/latex] треугольника [latex]ABC[/latex]

Тесты

Входные данные Выходные данные
[latex]x_a [/latex] [latex]y_a [/latex] [latex]z_a [/latex] [latex]x_b [/latex] [latex]y_b [/latex] [latex]z_b [/latex] [latex]x_c [/latex] [latex]y_c [/latex] [latex]z_c [/latex] [latex]S [/latex]
-2 1 2 3 -3 4 1 0 9 19.7864
-3 13 -5 6 11 12 4 8 18 50.5618
-6 0 4 5 1 3 -3 -1 -4 43.307
-6 -2.3 -8.2 1.9 -7.8 0.2 -8.5 3.4 -8.9 28.0909

Код программы

Решение задачи

Используя известные нам координаты вершин треугольника и формулу вычисления расстояния между двумя точками в пространстве [latex]AB=\sqrt{(x_2-x_1)^2+(y_2-y_1)^2+(z_2-z_1)^2}[/latex] можно найти длины сторон треугольника [latex]ABC[/latex]. Для нахождения площади используем Формулу Герона[latex]AB=\sqrt{p*(p-a)*(p-b)*(p-c)}[/latex] перед этим находим полупериметр [latex]p[/latex] по формуле [latex]p=\frac{a+b+c}{2}[/latex] подставляем значение и выводим конечный результат.

Ссылки

Условие задачи.
ideone

Даниил Юдин
Даниил Юдин

Latest posts by Даниил Юдин (see all)

2 thoughts on “ML26. Площадь треугольника

  1. Хорошо получилось. Но не без замечаний.
    — Зачем ссылка «Формулы» на google.com ?
    — Почему координаты вершин обязательно целочисленные.
    — Для возведения в квадрат, нужно использовать умножение, а не функцию pow(). Эта функция нужна для возведения в нецелую степень.
    — Нужно добавить какие-то ключевые слова (метки), для облегчения поиска статьи в сети.

  2. Хорошо. Я засчитываю работу.
    Только внесите, пожалуйста одно изменение. Именование параметров функции side не очень удачно. Это ведь координаты двух точек в пространстве? Вы ведь уже нашли удачный способ их именовать (как в условии задачи). Лучше и здесь придерживаться тех же правил именования. Можно даже использовать те же имена для переменных это ведь совсем другая функция. И напишите короткий комментарий в коде перед функцией side — что она делает и что за параметры ей требуются.

    Да! Чуть не забыл. Не ставьте точки в подзаголовках. Например, «Ссылки» правильно, а «Тесты.» — нет.

Добавить комментарий