Форум программистов, компьютерный форум CyberForum.ru

Определение наличия тупого угла в треугольнике - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 18, средняя оценка - 5.00
Рустам-ВЛ
1 / 1 / 0
Регистрация: 06.10.2012
Сообщений: 45
21.10.2012, 11:20     Определение наличия тупого угла в треугольнике #1
Параметрами функций являются длины сторон треугольника a, b, c. Дальше определяете, есть ли в треугольнике тупой угол, или все острые. Если есть - возвращаете 1, если нет - 0. Во второй функции проверяете неравенство треугольника. Если треугольник с заданными сторонами существует - возвращаете 1, если нет - 0.

как это всё сделать в одной программе?

Добавлено через 2 часа 46 минут
вроде сделал проверку неравенства треугольника.

помогите написать пожалуйста код для определения, есть ли в треугольнике тупой угол, или все острые
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
21.10.2012, 11:34     Определение наличия тупого угла в треугольнике #2
Первая проверка лишена смысла в том случае, если треугольник вообще не существует и при возможности таких исходных данных может быть только второй. Для несуществующего треугольника просто нельзя вывести алгоритм проверки. Треугольник существует в том случае, если удовлетворяет правилу:
Сторона его большая, даже самая большая меньше суммы двух других сторон.
И если все длины строго положительны.
C++
1
2
3
4
bool posible (double a, double b, double c)
{
 return (a<(b+c))&&(b<(a+c))&&(c<(a+b))&&(a>0.0)&&(b>0.0)&&(c>0.0);
}
.
nonedark2008
624 / 502 / 92
Регистрация: 28.07.2012
Сообщений: 1,343
21.10.2012, 11:43     Определение наличия тупого угла в треугольнике #3

Не по теме:


Цитата Сообщение от taras atavin Посмотреть сообщение
Сторона его большая, даже самая большая меньше суммы двух других сторон.
xD Ты почти вывел неравенство треугольника))



Добавлено через 3 минуты
А про углы - это все выводится из теоремы косинусов.
a^2=b^2+c^2-2bc*cos(альфа)
Угол альфа лежит напротив стороны a. Отсюда видно, что если альфа-тупой, то a^2 < b^2 + c^2
Если острый, то a^2>b^2+c^2, ну и прямой если a^2=b^2+c^2
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
21.10.2012, 11:44     Определение наличия тупого угла в треугольнике #4
C++
1
2
3
4
bool obtuse(double a, double b, double c)
{
 return (((a*a+b*b-c*c)/2/a/b)<0.0)||(((b*b+c*c-a*a)/2/b/c)<0.0)||(((a*a+c*c-b*b)/2/a/c)<0.0);
}
grizlik78
Эксперт С++
 Аватар для grizlik78
1884 / 1416 / 102
Регистрация: 29.05.2011
Сообщений: 2,961
21.10.2012, 12:04     Определение наличия тупого угла в треугольнике #5
Ну и мой вариант, про который, впрочем, рассказали уже.
C++
1
2
3
4
5
6
7
8
9
10
11
12
bool have_obtuse_angle(double a, double b, double c)
{
    if (a > b)
    {
        if (a > c)
            return b*b + c*c < a*a;
        return a*a + b*b < c*c;
    }
    if (b > c)
        return a*a + c*c < b*b;
    return a*a + b*b < c*c;
}
Разумеется результат имеет смысл только если треугольник существует.
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
21.10.2012, 13:06     Определение наличия тупого угла в треугольнике #6
Оптимизированная версия?
Рустам-ВЛ
1 / 1 / 0
Регистрация: 06.10.2012
Сообщений: 45
21.10.2012, 15:22  [ТС]     Определение наличия тупого угла в треугольнике #7
Спасибо за помощь, а как так же функцию сделать для "Во второй функции проверяете неравенство треугольника. Если треугольник с заданными сторонами существует - возвращаете 1, если нет - 0."
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
21.10.2012, 15:25     Определение наличия тупого угла в треугольнике #8
Функция posible.
Рустам-ВЛ
1 / 1 / 0
Регистрация: 06.10.2012
Сообщений: 45
21.10.2012, 15:27  [ТС]     Определение наличия тупого угла в треугольнике #9
Цитата Сообщение от taras atavin Посмотреть сообщение
Функция posible.
по подробнее можно пожалуйста
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
21.10.2012, 15:34     Определение наличия тупого угла в треугольнике #10
А что там комментировать?
Рустам-ВЛ
1 / 1 / 0
Регистрация: 06.10.2012
Сообщений: 45
21.10.2012, 15:39  [ТС]     Определение наличия тупого угла в треугольнике #11
как эту функцию применить
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
21.10.2012, 15:46     Определение наличия тупого угла в треугольнике #12
Ты вообще умеешь пользоваться функциями?
Рустам-ВЛ
1 / 1 / 0
Регистрация: 06.10.2012
Сообщений: 45
21.10.2012, 16:23  [ТС]     Определение наличия тупого угла в треугольнике #13
Нет , но функции уже сделал вроде у себя
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.10.2012, 18:29     Определение наличия тупого угла в треугольнике
Еще ссылки по теме:

C++ Условие: По двум сторонам и углу между ними в треугольнике АВС найти два остальных угла и третью сторону. c^2 = a^2 + b^2 - 2 ab cos A
C++ Найти длины высот в треугольнике
Рассчитать квадрат синуса угла, значение угла вводится с клавиатуры в градусах C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
21.10.2012, 18:29     Определение наличия тупого угла в треугольнике #14
функция вызывается просто по имени с указанием фактических параметров. Фактический параметр есть переменная, или константа явная, или именованная, подставляемая на место формального параметра при конкретном вызове функции. Формальный параметр есть переменная, указанная для связи с вызывающей программой в заголовке функции. Под её именем параметр известен функции, причем, функция может считать его константой. Вызывающая программа вообще не знает этого имени.
Yandex
Объявления
21.10.2012, 18:29     Определение наличия тупого угла в треугольнике
Ответ Создать тему

Метки
треугольник, тупой угол
Опции темы

Текущее время: 01:24. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru