Ю1.17

ЗАДАЧА

tupougolnyi-treugolnik

Длинна высоты. Треугольник [latex]ABC[/latex] задан длинами своих сторон. Найти длину высоты, опущенной из вершины А.

Экстремальные тесты: сумма двух сторон равна третьей; одна из сторон равна нулю.

Для справки.

Высота в произвольном треугольнике вычисляется по формуле:

[latex]h=2\cdot\frac{\sqrt{(p\cdot(p-a)\cdot(p-c)\cdot(p-b)}}{b}[/latex]

где

[latex]p=\frac{a+b+c}{2}[/latex]

В таблице представлены возможные треугольники: прямоугольный, равнобедренный, равносторонний и с неизвестными углами (произвольный). Также тут указаны условия, при которых треугольник существовать не может.

a

b

c

h

Коментарии

2 3 4 1.94 Тест пройден.
0 4 5 Ошибка в условии.Одна из сторон равна или меньше 0.
3 3 6 Ошибка в условии. Сумма двух сторон равна или меньше третьей стороны.
-4 3 6 Ошибка в условии.Одна из сторон равна или меньше 0.
6 6.5 2.6 2.4 Тест пройден.
4.4 4.4 5 4.11 Тест пройден.
4 4 4 3.46 Тест пройден.

Программа позволяет вычислять высоту произвольного треугольника по его трем сторонам. Существуют некоторые условия, при которых треугольник не может существовать, следовательно не может существовать его высота.
Алгоритм проверяет возможность  существования  треугольника с исходными данными: сумма длин двух сторон не должна равняться длине третьей стороны; длина стороны не должна равняться нулю; длина стороны не должна быть отрицательной; сумма длин двух сторон не должна быть меньше длины третьей.

Код на С++:

Код на Java:

 

Для выполнения программы и проверки тестов можно воспользоватся следующей ссылкой (C++)/ссылкой(Java).

Related Images:

8 thoughts on “Ю1.17

  1. В формуле точки, а не звездочки для умножения.
    Может оказаться, что сторона треугольника отрицательная или больше двух других — такая же проблема, как нулевая или равная двум другим сторона.

    • Извините, сразу не заметил. У Вас только один тест, когда треугольник существует, и то ответ сложно проверить. Добавьте еще парочку тестов, например, прямоугольный треугольник, равносторонний треугольник.

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