Модераторы: bsa

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Могут ли значения быть сторонами треугольника? 
:(
    Опции темы
Mastodont
Дата 22.1.2010, 14:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 347
Регистрация: 18.3.2007

Репутация: нет
Всего: 1



Есть задача:

Цитата

Напишите программу, которая читает три ненулевые значения типа double, определяет и печатает, могут ли они представлять стороны треугольника.


А если они не равны нулю, то даже если каждая будет равна 1, они все равно смогут быть сторонами треугольника. Только если отрицательными, тут вопрос..?

Я знаю только теорему о том, что сумма углов треуг. должна быть 180 градусов. А насчет длин сторон не слышал.
PM MAIL   Вверх
azesmcar
Дата 22.1.2010, 15:02 (ссылка) |    (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 52
Всего: 211



Найти самую длинную из сторон, если сумма остальных двух <= максимальной - такого треугольника быть не может. 

По логике вроде бы так, теорем уже не помню.

Добавлено через 6 минут и 21 секунду
Еще проще, даже максимум находить не надо. Сумма двух любых сторон треугольника больше длины третьей стороны.

Это сообщение отредактировал(а) azesmcar - 22.1.2010, 15:05
PM   Вверх
artsb
Дата 22.1.2010, 15:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2280
Регистрация: 17.7.2007
Где: центр Вселенной

Репутация: 4
Всего: 64



Цитата(Mastodont @  22.1.2010,  14:56 Найти цитируемый пост)
Только если отрицательными, тут вопрос..?

А разве бывают отрицательные длины сторон...  smile

Добавлено через 9 минут и 42 секунды
Цитата(azesmcar @  22.1.2010,  15:02 Найти цитируемый пост)
Сумма двух любых сторон треугольника больше длины третьей стороны.

Первый вариант будет правильнее.
Допустим, длины равны: 10, 3, 2
Если не найти максимальную, а тупо сложить первые две и убедиться, что 13 > 2, то получается, что такой треугольник можно построить.


--------------------
Чем отличается умный человек от мудрого?
Умный - выпутается из любой ситуации.
Мудрый - просто в неё не попадёт.
PM MAIL   Вверх
bsa
Дата 22.1.2010, 15:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



artsb, azesmcar написал, что суммах 2-х любых сторон больше третьей. Это значит, что ты должен взять все возможные комбинации и проверить... Правда, можно взять 2 наименьших стороны и сравнить их сумму с третьей.
PM   Вверх
artsb
Дата 22.1.2010, 15:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2280
Регистрация: 17.7.2007
Где: центр Вселенной

Репутация: 4
Всего: 64



Цитата(bsa @  22.1.2010,  15:49 Найти цитируемый пост)
можно взять 2 наименьших стороны и сравнить их сумму с третьей. 

это первый вариант от azesmcar. Я и говорю про его верность.

Цитата(bsa @  22.1.2010,  15:49 Найти цитируемый пост)
написал, что суммах 2-х любых сторон больше третьей. Это значит, что ты должен взять все возможные комбинации и проверить...

Возможно. Но даже если и так, то первый вариант будет быстрее ИМХО.


--------------------
Чем отличается умный человек от мудрого?
Умный - выпутается из любой ситуации.
Мудрый - просто в неё не попадёт.
PM MAIL   Вверх
azesmcar
Дата 22.1.2010, 16:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 52
Всего: 211



Цитата(artsb @  22.1.2010,  15:57 Найти цитируемый пост)
это первый вариант от azesmcar. Я и говорю про его верность.

Цитата

Сумма двух любых сторон треугольника больше длины третьей стороны.


Любых - имелось ввиду всех, тут уже надо посмотреть что легче реализовать.

Цитата(artsb @  22.1.2010,  15:57 Найти цитируемый пост)
Возможно. Но даже если и так, то первый вариант будет быстрее ИМХО. 

Код

bool isTriangle1(int d1, int d2, int d3)
{
    return (d1 + d2 > d3 && d1 + d3 > d2 && d2 + d3 > d1);
}

во втором варианте будет что-то вроде этого, по любому надо делать сравнения чтобы получить максимум.


Это сообщение отредактировал(а) azesmcar - 22.1.2010, 16:10
PM   Вверх
artsb
Дата 22.1.2010, 16:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2280
Регистрация: 17.7.2007
Где: центр Вселенной

Репутация: 4
Всего: 64



azesmcar, это больше похоже на второй вариант.

Добавлено через 1 минуту и 47 секунд
А первый можно так реализовать:
Код

inline double _max(double a, double b) {
 return a>b?a:b;
}
//---------------------------------------------------------------------------
inline double _min(double a, double b) {
 return a<b?a:b;
}
//---------------------------------------------------------------------------
bool IsTriangle(double a, double b, double c) {
 return (_min(a,b)+_min(_max(a,b),c))>_max(a,_max(b,c));
}



--------------------
Чем отличается умный человек от мудрого?
Умный - выпутается из любой ситуации.
Мудрый - просто в неё не попадёт.
PM MAIL   Вверх
azesmcar
Дата 22.1.2010, 16:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 52
Всего: 211



Цитата(artsb @  22.1.2010,  16:27 Найти цитируемый пост)
azesmcar, это больше похоже на второй вариант. 

Ну так это он и есть smile 
Это для демонстрации того, что он не такой уж и страшный smile 
PM   Вверх
artsb
Дата 22.1.2010, 16:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2280
Регистрация: 17.7.2007
Где: центр Вселенной

Репутация: 4
Всего: 64



Цитата(azesmcar @  22.1.2010,  16:29 Найти цитируемый пост)
Ну так это он и есть

Я не так понял вашу фразу:
Цитата(azesmcar @  22.1.2010,  16:04 Найти цитируемый пост)
во втором варианте будет что-то вроде этого

Я подумал: это первый вариант, а во втором будет что-то типа этого smile

Цитата(azesmcar @  22.1.2010,  16:29 Найти цитируемый пост)
Это для демонстрации того, что он не такой уж и страшный

Действительно.


--------------------
Чем отличается умный человек от мудрого?
Умный - выпутается из любой ситуации.
Мудрый - просто в неё не попадёт.
PM MAIL   Вверх
kemiisto
Дата 22.1.2010, 16:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 5
Всего: 160



Цитата(azesmcar @  22.1.2010,  16:02 Найти цитируемый пост)
Сумма двух любых сторон треугольника больше длины третьей стороны.

Если вдруг преподаватель придерёться - учтите, это сформулировано неверно. 
Цитата
Длина любой стороны треугольника всегда не превосходит сумму длин двух его других сторон.

Неравенство треугольника.

И соотвественно неверные знаки:
Код
return (d1 + d2 > d3 && d1 + d3 > d2 && d2 + d3 > d1);


Везде должно быть >=. Случай с равенством - вырожденный треугольник. Но мало ли...


--------------------
PM MAIL WWW GTalk Jabber   Вверх
azesmcar
Дата 22.1.2010, 16:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 52
Всего: 211



Цитата(kemiisto @  22.1.2010,  16:49 Найти цитируемый пост)
Везде должно быть >=. Случай с равенством - вырожденный треугольник. Но мало ли... 

не знал что это называется треугольником.

Цитата(kemiisto @  22.1.2010,  16:49 Найти цитируемый пост)
Если вдруг преподаватель придерёться - учтите, это сформулировано неверно. 

 smile 
PM   Вверх
artsb
Дата 22.1.2010, 17:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2280
Регистрация: 17.7.2007
Где: центр Вселенной

Репутация: 4
Всего: 64



Цитата(kemiisto @  22.1.2010,  16:49 Найти цитируемый пост)
Везде должно быть >=. 

Тогда получается линия, а не треугольник.


--------------------
Чем отличается умный человек от мудрого?
Умный - выпутается из любой ситуации.
Мудрый - просто в неё не попадёт.
PM MAIL   Вверх
kemiisto
  Дата 22.1.2010, 17:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 5
Всего: 160



Цитата(artsb @  22.1.2010,  18:44 Найти цитируемый пост)
Тогда получается линия, а не треугольник.

Цитата(kemiisto @  22.1.2010,  17:49 Найти цитируемый пост)
Случай с равенством - вырожденный треугольник.



--------------------
PM MAIL WWW GTalk Jabber   Вверх
artsb
Дата 22.1.2010, 18:14 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2280
Регистрация: 17.7.2007
Где: центр Вселенной

Репутация: 4
Всего: 64



Ага. Но на рисунке это будет линия smile


--------------------
Чем отличается умный человек от мудрого?
Умный - выпутается из любой ситуации.
Мудрый - просто в неё не попадёт.
PM MAIL   Вверх
kemiisto
Дата 22.1.2010, 18:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 5
Всего: 160



Цитата(artsb @  22.1.2010,  19:14 Найти цитируемый пост)
Ага. Но на рисунке это будет линия

 smile Как корабль назовёшь, ... smile 


--------------------
PM MAIL WWW GTalk Jabber   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

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


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.1087 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.