Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.56/55: Рейтинг темы: голосов - 55, средняя оценка - 4.56
0 / 0 / 0
Регистрация: 16.11.2016
Сообщений: 10
1

Определить, могут ли числа быть сторонами треугольника

02.08.2017, 19:51. Показов 10877. Ответов 23
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Заданы три числа:a ,b, c. Определить, могут ли они быть сторо-
нами треугольника, и если да, то определить его тип: равносторонний,
равнобедренный, разносторонний.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.08.2017, 19:51
Ответы с готовыми решениями:

Проверить, могут ли числа быть сторонами треугольника
Даны три положительных числа a, b, c. Проверить будут ли они сторонами треугольника? Если да, то...

Определить, могут ли числа быть сторонами треугольника
Решите задачу, составив алгоритм и написав программу на Паскале: Заданы 3 числа: a, b и c....

Определить, могут ли 3 числа быть сторонами треугольника
Пожалуйста напишите, полностью, программу в Паскале с задачей - Вводятся 3 числа. 1) Определить,...

Определить, могут ли числа быть сторонами треугольника
Заданы числа a, b, c. Определить, могут ли они быть сторонами треугольника, и если да, то...

23
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
12458 / 7482 / 1753
Регистрация: 25.07.2009
Сообщений: 13,762
02.08.2017, 19:57 2
C
1
2
3
4
5
6
7
8
if ( ( a >= b + c ) || ( b >= a + c ) || ( c >= a + b ) )
    // не треугольник
else if ( a == b && b == c )
    // равносторонний
else if ( ( a == b ) || ( a == c ) || ( b == c ) )
    // равнобедренный
else
    // просто треугольник
3
Заблокирован
03.08.2017, 05:41 3
почему(когда и кем это было решено)что одна из сторон не может быть суммой двух других? и как следствие одна из сторон не может быть нулевой? я даже могу построить оба этих варианта
0
Диссидент
Эксперт C
27706 / 17322 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
03.08.2017, 09:38 4
MansMI, такие треугольники называются вырождеными. И для них выполняются почти все теоремы и соотношения, верные для обычных, невырожденных треугольников. Однако, для треугольника a+b=c трудновато построить описанную окружность. Она вырождается в прямую, и ее "центр" уходит в бесконечность. Еще возникают некоторые логические сложности, если все стороны треугольника равны 0. Связано это вообще с особым положением нуля в поле.
Впрочем, если быть занудой, в подобного рода задачах следует уточнять, о каких треугольниках идет речь
0
Заблокирован
03.08.2017, 09:47 5
эти "истины" мне рассказали еще в прошлом веке, а что касается бесконечности, так математики с ней довольно свободно обращаются(делить на 0 можно уже в 8-м классе)
0
396 / 285 / 82
Регистрация: 24.05.2017
Сообщений: 1,112
03.08.2017, 09:51 6
А мне кажется, что этого уточнения вполне достаточно, чтобы не блудить в полях и ТФКП:

Цитата Сообщение от Romadxd Посмотреть сообщение
то определить его тип: равносторонний,
равнобедренный, разносторонний.
0
Диссидент
Эксперт C
27706 / 17322 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
03.08.2017, 09:57 7
Цитата Сообщение от MansMI Посмотреть сообщение
делить на 0 можно уже в 8-м классе
Это интересное заявление. А сами-то вы умеете? И если да, не расскажите ли нам? Деление ведь операция алгебраическая, да? Так покажите нам алгебраическую структуру, в которой определена операция деления на ноль.
0
Заблокирован
03.08.2017, 10:00 8
Байт, это кого из нас сейчас приголубили, или дуплетом?

Добавлено через 2 минуты
числовая прямая не ограничивается габаритами тетрадного листа, и если свеситься с края Земли слонов/китов/черепах не увидишь
0
396 / 285 / 82
Регистрация: 24.05.2017
Сообщений: 1,112
03.08.2017, 10:01 9
Да, никого лично, просто мысли вслух) Почему сразу это надо воспринимать по отношению к себе?)
1
Диссидент
Эксперт C
27706 / 17322 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
03.08.2017, 10:33 10
Цитата Сообщение от MansMI Посмотреть сообщение
кого из нас
Если вы имеете в виду пост 7, то там же цитата ваша, значит целился я именно в вас.
В уважаемого Nadym, пока стрелять не за что.
Цитата Сообщение от MansMI Посмотреть сообщение
числовая прямая не ограничивается габаритами тетрадного листа, и если свеситься с края Земли слонов/китов/черепах не увидишь
Это нам тоже из прошлого века известно.
Но я не вижу отношения этой симпатичной метафоры к моей просьбе - построить алгебраическую структуру, где деление на 0 имело бы смысл и не ломало бы свойств всех других операций.

Добавлено через 22 минуты
MansMI, Попробую пояснить свои соображения. Если вы не очень знакомы с основами Общей Алгебры (что вполне простительно), попробую "на пальцах".
Алгебраическая структура - это множество (не обязательно привычное числовое) с определенными на нем операциями (не обязательно привычными нам со школьных скамей). Существование Нуля уже подразумевает то, что есть операция Сложения (+), со свойством a+0 = 0
Существование Деления подразумевает существование Умножения, и Единицы со свойством a*1 = a, а также существования обратного для каждого a - a-1, такого что a*a-1 = 1
Кроме того желательно, чтобы сложение и умножение были как-то связаны, например, свойством дистрибутивности a*(b+c) = a*b + a*c. Без этой связи (или подобной) существование двух операций лишено продуктивного смысла
Так вот, уже из этих законов существование 0-1 (т.е. элемента В со свойством 0*B = 1 приводит тому, что 0 = 1, и вообще наше множество должно состоять из единственного элемента. Согласитесь, изучение такой алгебраической структуры - занятие мало интересное.
Да, в МатАнализе есть понятие Бесконечности. Но понимать его следует не как Число, а как Процесс.
2
Заблокирован
03.08.2017, 10:43 11
C# не запрещает
C#
1
2
int x = 0;
Console.WriteLine(1.0 / x);
sharp[англ]-резкий, острый, крутой, сильный, энергичный и пр.
Изображения
 
0
Модератор
Эксперт функциональных языков программированияЭксперт Python
36601 / 20330 / 4220
Регистрация: 12.02.2012
Сообщений: 33,644
Записей в блоге: 13
03.08.2017, 17:40 12
"Могут ли числа a, b и с быть сторонами треугольника?" Конечно, не могут. Любые. Сторонами треугольника могут быть отрезки. "Кто ясно мыслит, тот ясно излагает".
0
Байт
03.08.2017, 22:25
  #13

Не по теме:

Цитата Сообщение от Catstail Посмотреть сообщение
Сторонами треугольника могут быть отрезки.
Занудству математиков нет предела:):)

1
Модератор
Эксперт функциональных языков программированияЭксперт Python
36601 / 20330 / 4220
Регистрация: 12.02.2012
Сообщений: 33,644
Записей в блоге: 13
04.08.2017, 07:20 14
Байт, это не занудство. Просто публикатор этой задачи (с вероятностью 100%) - студент. И время публикации (август) дает основания предположить, что он... не отличник. А взрослые должны воспитывать молодежь.

Теперь о сути задачи. Код, предложенный в посте №2 имеет недостаток, проявляющийся в случае, когда a, b и c имеют тип float/double. Числа такого типа не стоит сравнивать на точное равенство. Лучше поступать так:

C
1
2
3
4
5
6
7
8
if ( ( a >= b + c ) || ( b >= a + c ) || ( c >= a + b ) )
    // не треугольник
else if ( fabs(a-b) <= 1e-14 && fabs(b-c) <= 1e-14 )
    // равносторонний
else if ( fabs(a-b) <= 1e-14 || fabs(a-c) <= 1e-14 || fabs(b-c) <= 1e-14 )
    // равнобедренный
else
    // просто треугольник
2
Nadym
04.08.2017, 07:27
  #15

Не по теме:

Цитата Сообщение от Catstail Посмотреть сообщение
И время публикации (август) дает основания предположить, что он... не отличник.
Я думаю, что у человека "хвост" с летней сессии

0
Диссидент
Эксперт C
27706 / 17322 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
04.08.2017, 09:28 16

Не по теме:

Цитата Сообщение от Catstail Посмотреть сообщение
Байт, это не занудство.
Так как я тоже немножко математик, то легко понять, что моя реплика - всего лишь дружеская шутка:)

Цитата Сообщение от Catstail Посмотреть сообщение
Теперь о сути задачи
Да, вы совершенно правы. Сравнивать числа double, float на точное равенство - верный способ оказаться в дураках. Только вот почему вы берете именно 1e-14 ? А вдруг порядок сравниваемых чисел еще меньше? Вдруг это атомные расстояния, выраженные в метрах? Или в тех же метрах расстояния межзвездные? Тогда ваш машинный нуль слишком мал. И определение этого "машинного нуля" не такая уж тривиальная задача...

Добавлено через 10 минут

Не по теме:

Есть у меня небольшая коллекция
В защиту Оффтопа
Думаю, этот топик вполне ее достоин:)

2
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
12458 / 7482 / 1753
Регистрация: 25.07.2009
Сообщений: 13,762
04.08.2017, 16:07 17
Ну тогда и я немного позанудствую
Поскольку топикстартер не удосужился уточнить, о каких именно числах идёт речь, возможны как минимум три варианта:
а) целые числа. Тогда решение в моём посте подошло бы, только для полноты ощущений ещё бы убедиться, что даны именно натуральные числа (как подмножество целых). В противном случае какой-нибудь анти-треугольник получится.
б) вещественные числа, которые, как верно было подмечено, в памяти компьютера хранятся в переменных типа float или double (хотя есть и другие варианты). Их бы снова проверить на неотрицательность. И замечание по поводу сравнения вещественных чисел в целом, конечно, правильное, вот только если обе переменных одного типа и обе заданы одной константой, точность представления вряд ли будет значение иметь.
в) комплексные числа. Вот в них задача действительно была бы интереснее, но требовала бы некоторых уточнений.
А так
Цитата Сообщение от Catstail Посмотреть сообщение
Просто публикатор этой задачи (с вероятностью 100%) - студент.
я бы не стал на это ставить. Скорее школьник. Ну если и студент, то какого-нибудь далёкого от точных наук ВУЗа...
1
396 / 285 / 82
Регистрация: 24.05.2017
Сообщений: 1,112
04.08.2017, 18:12 18
Цитата Сообщение от easybudda Посмотреть сообщение
Ну тогда и я немного позанудствую
Ну и я туда же)

Цитата Сообщение от easybudda Посмотреть сообщение
Ну если и студент, то какого-нибудь далёкого от точных наук ВУЗа...
Ох, дружище, ваши бы слова да богу в уши...
Через 27 дней я вам смогу выложить свежую переписку с моими постоянными подопечными (придётся только время потратить на редактирование, дабы не оскорблять персонажи из двух московских ВУЗов, которые от точных наук отстоят ну чуть дальше, всего на микрон, от физмата МГУ)
0
41 / 41 / 15
Регистрация: 29.12.2016
Сообщений: 291
04.08.2017, 18:26 19
Romadxd, Вы знаете, если у Вас есть решение этой задачи, то написать код - это раз плюнуть. Советую Вам, начать решать задачи самому, а код родиться сам из вытекающего.
0
Модератор
Эксперт функциональных языков программированияЭксперт Python
36601 / 20330 / 4220
Регистрация: 12.02.2012
Сообщений: 33,644
Записей в блоге: 13
04.08.2017, 18:39 20
Комплексные длины сторон - это сильно!
0
04.08.2017, 18:39
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.08.2017, 18:39
Помогаю со студенческими работами здесь

Определить, могут ли введенные числа быть сторонами прямоугольного треугольника
Задание 1. Создать функцию вклад- по параметрам начальная сумма. число лет, процент выдавать...

Заданы три числа: а, b, c. Определить, могут ли они быть сторонами треугольника
Заданы три числа: а, b, c. Определить, могут ли они быть сторонами треугольника, и если да, то...

Заданы три числа a,b,c. Определить могут ли они быть сторонами треугольника
Определить,имеет ли отрезки a,b и с являться сторонами треугольника и если могут, то какого...

Заданы три числа a,b,c. Определить могут ли они быть сторонами треугольника
Заданы три числа: a,b и c. Определить, могут ли они быть сторонами треугольника и, если да,...

Определить могут ли три заданных положительных числа быть сторонами прямоугольного треугольника
Даны 3 положительных числа, определить могут ли они быть сторонами прямоугольного треугольника,...

Могут ли числа быть сторонами треугольника
Задача 1. Заданы 3 числа: a, d и с. Узнать могут ли они быть сторонами треугольника и , ясли да,...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru