Задача. Треугольник задан величинами своих углов [latex]x[/latex], [latex]y[/latex], [latex]z[/latex] и радиусом описанной окружности [latex]R[/latex].
Найти стороны треугольника.
x | y | z | R | a | b | c | Комментарий |
95 | 36 | 49 | 3 | 5.98 | 3.53 | 4.53 | Тест пройден |
90 | 45 | 45 | 7 | 14 | 9.9 | 9.9 | Тест пройден |
60 | 60 | 60 | 14 | 24.25 | 24.25 | 24.25 | Тест пройден |
47 | 34 | 56 | 9 | Неверное значение углов. |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
#include <stdio.h> #include<math.h> int main(void) { double x, y, z; double R, a, b, c; const double eps=0.01; printf("Введите величину угла x в градусах: \n" ); scanf("%lf", &x); printf("Введите величину угла y в градусах: \n" ); scanf("%lf", &y); printf("Введите величину угла z в градусах: \n" ); scanf("%lf", &z); printf("Введите радиус описанной окружности R: \n"); scanf("%lf", &R); if ( x+y+z>180+eps || x+y+z<180-eps) // Проверка на корректность условия { printf ("Ошибка в условии.Не правильное значение углов. \n"); } else { a=2*R*sin((x/180)*M_PI); b=2*R*sin((y/180)*M_PI); c=2*R*sin((z/180)*M_PI); printf("a=%5.2lf \n" , a); printf("b=%5.2lf \n" , b); printf("c=%5.2lf \n" , c); } return 0; } |
Для решения этой задачи использовалась формулы:
[latex]a=R\sin(x)[/latex] [latex]b=R\sin(y)[/latex] [latex]c=R\sin(z)[/latex]Если при выполнении программы вы зададите некоторое значение углов и при проверке программой окажется , что значение углов больше или меньше 180+»eps» ( eps=0.01 ) , то программа не выполнит поставленную задачу, т.к. в этом случае треугольник существовать не будет.
Для выполнения программы и проверки тестов вы можете воспользоваться этой ссылкой
Формулы нужно набирать так: [latex] формула [/latex], например, [latex] a = 2R \sin (x) [/latex], а не вставлять как картинки.
По решению претензий нет, но среди тестов желательно предоставить также общий случай треугольника (в дополнение к равностороннему и прямоугольному равнобедренному). Также опишите в отчете, почему сумма углов может оказаться не точно равна 180 градусов и что Вы вполне закономерно проверяете в этом случае.
Кстати поставьте рубрику и метки (ключевые слова).
Рубрику пришлось поставить самому! После того как снял рубрику «Ожидает проверки». Напомню, Вам нужно опять добавить рубрику «Ожидает проверки» (не убирая рубрики Линейные вычисления), когда исправите замечания и ответите на мой комментарий, что замечания учтены.
Исправил и сделал все как вы просили.
Зачёл на 8 баллов (просрочено), но желательно поправить:
— Начал кода не дописано — #include… На ideone всё хорошо.
— «В задаче нужно найти стороны треугольника, зная величины его углов и радиус описанной вокруг него окружности.» — зачем это писать? Просто повторили предыдущее предложение? Или так понятнее?
— Синус кодируют так \sin(x)
— Уберите пустые строки в тексте отчёта.
— Вы просите величины углов в градусах, потом переводите в радианы. Зачем? Нужны радианы, так и просили бы в радианах. Это не ошибка — наоборот, дополнительная практика. Просто, удивило.