Проверка треугольника и определение его типа - C (СИ)
Формулировка задачи:
Задача: даны 3 числа, определить, являются ли они сторонами треугольника. Если являются, то какого?
Условным оператором if-else пользоваться нельзя.
Можно пользоваться условным выражением () ? () : ().
Вроде бы работает, но меня смущают 2 момента:
1. Когда присваиваю стороны
2. Когда пропускаю третий оператор в условном выражении. Получается () ? () ? () : () : () Так вообще можно?
#define _CRT_SECURE_NO_WARNINGS #include<stdio.h> int main() { int a, b, c; double max_st, cos_max_ug, st1, st2; printf("Enter 3 numbers:"); scanf("%d %d %d", &a, &b, &c); max_st=(a > b) ? a : b; st1 = (a < b) ? a : b; st2 = (max_st < c) ? max_st : c; max_st = (max_st > c) ? max_st : c; cos_max_ug = (st1*st1 + st2*st2 - max_st*max_st) / (2 * st1*st2); (a < b + c) && (b < a + c) && (c < a + b) ? cos_max_ug < 0 ? printf("Treugolnik tupoj %s\n", st1 == st2 ? "ravnobedrennyj" : "raznostoronnij") : cos_max_ug == 0.5 ? printf("Treugolnik ravnostoronnij\n") : cos_max_ug == 0 ? printf("Treugolnik pryamougolnyj %s\n", st1 == st2 ? "ravnobedrennyj" : "raznostoronnij") : printf("Treugolnik ostrougolnyj %s\n", st1 == st2 ? "ravnobedrennyj" : "raznostoronnij"): printf("Treugolnika net\n"); }
Решение задачи: «Проверка треугольника и определение его типа»
textual
Листинг программы
cos_max_ug == 0.5
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д