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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.58
Zverit
Уничтожитель печенек
277 / 205 / 21
Регистрация: 07.02.2010
Сообщений: 723
#1

Теорема синусов - C++

18.06.2011, 23:22. Просмотров 1586. Ответов 8

C++
1
2
3
4
5
6
7
8
float y,a,b,u;
cin>>y;
y = M_PI * y / 180;
cin>>a;
cin>>b;
u = (b/a - cos(y))/sin(y);
u = cos(u)/sin(u);
cout<<u;
Выдает не то значение угла.
В чем ошибка?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.06.2011, 23:22
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Теорема синусов (C++):

Вычислить сумму синусов - C++
Вычислить y=sin1+sin1.1,...,sin2. Сама программа работает, но выводит неверный результат. #include &lt;math.h&gt; #include &lt;Math.hpp&gt; {...

Вычислить значения синусов - C++
Помогите пожалуйста решить задачу на си++ Вычислите значения а) sin x + sin2x + ... + sinnx; б) sin x + sin2x2 + ... + sinnxn; ...

вычислить значение квадратов синусов - C++
1)вычислить значение квадратов синусов в интервале от 0 до 3 с шагом 0,2 2)в одномерном массиве состоящем из n элементов вычислить...

Программа выводит таблицу значений синусов или косинусов - C++
Суть проблемы в том, что не выводит косинусы в диапазоне 90-270... Помогите решить проблему. #include &lt;iostream&gt; #include...

Таблица синусов для значений аргумента в диапазоне от 0 до π/2 с заданным числом шагов - C++
1.Используя циклы while, do - while и for, написать три варианта программы получения на экране таблицы синусов для значений аргумента в...

Теорема Пифагора - C++
Здравствуйте, программа всякий раз выводит в ответе &quot;0&quot;. В чём ошибка? Благодарен! Язык C++, Visual C++ 2008 Express #include...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Jupiter
Каратель
Эксперт С++
6553 / 3973 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
18.06.2011, 23:27 #2
а u в радианы кто переведет?
grizlik78
Эксперт С++
1908 / 1440 / 111
Регистрация: 29.05.2011
Сообщений: 2,996
18.06.2011, 23:31 #3
А где здесь теорема синусов? Это ребус что ли?
Кто такие a, b, y, u?
Zverit
Уничтожитель печенек
277 / 205 / 21
Регистрация: 07.02.2010
Сообщений: 723
18.06.2011, 23:33  [ТС] #4
Maxwe11, Дык здесь, вроде бы, нужно переводить только y в радианы

Добавлено через 1 минуту
grizlik78, ну это часть теоремы. вычисление только одного угла.
a,b - стороны. y - угол. u - вычисляемый угол
grizlik78
Эксперт С++
1908 / 1440 / 111
Регистрация: 29.05.2011
Сообщений: 2,996
18.06.2011, 23:35 #5
Углы против этих сторон? Который из них против a, какой против b?
Zverit
Уничтожитель печенек
277 / 205 / 21
Регистрация: 07.02.2010
Сообщений: 723
18.06.2011, 23:46  [ТС] #6
grizlik78, Угол y угол между ними. Угол u противолежащий стороне a

Добавлено через 7 минут
Можете не исправлять мои ошибки в программе. А просто дать алгоритм, как вычислять по теореме синусов
grizlik78
Эксперт С++
1908 / 1440 / 111
Регистрация: 29.05.2011
Сообщений: 2,996
19.06.2011, 00:16 #7
У меня получается так. Без арксинуса не уверен, что можно обойтись
C
1
2
3
beta = asin( b*sin(u)/a );
c = b*cos(u)+a*cos(beta);
y = asin( c*sin(u)/a);
Вроде правильно, хотя мог и ошибиться при выводе

Добавлено через 1 минуту
То есть от первого-то можно избавиться с помощью квадрата и корня, а от второго никуда всё-равно

Добавлено через 1 минуту
А, блин. я углы попутал

Добавлено через 5 минут
В общем, как найти угол мне понятно, непонятно разрешают ли это условия задачи
По 2 сторонам и углу между ними находится 3-я используя теорему косинусов. А уж потом можно использовать теорему синусов, чтобы найти остальные два угла. Так пойдёт?

Добавлено через 4 минуты
C
1
2
с = sqrt(a*a+b*b-2*a*b*sin(y));
u = asin(a*sin(y)/c);
Zverit
Уничтожитель печенек
277 / 205 / 21
Регистрация: 07.02.2010
Сообщений: 723
19.06.2011, 11:22  [ТС] #8
Цитата Сообщение от grizlik78 Посмотреть сообщение
с = sqrt(a*a+b*b-2*a*b*sin(y));
Как я понимаю, здесь вместо синуса должен быть косинус
grizlik78
Эксперт С++
1908 / 1440 / 111
Регистрация: 29.05.2011
Сообщений: 2,996
19.06.2011, 11:56 #9
Да, это же теорема косинусов. Негодяи какие-то там синус вписали
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.06.2011, 11:56
Привет! Вот еще темы с ответами:

Теорема Пифагора - C++
Составить программу,которая графически иллюстрирует теорему Пифагора.

Теорема Виета - C++
Суть, решить квадратичное уравнение теоремой виета, но мне кажется это идиотизм, потому как, если числа дробные - огромное кол-во...

Теорема Виетта для С++ - C++
Прошу, помогите! Не могу решить задание, никакие темы не помогают на форуме, все предыдущие попытки увенчались провалом! ХЕЛП

Теорема ферма для n>2 - C++
Здравствуйте, возникла проблема при выполнении задания: Создайте приложение, которое покажет, что для выражения {a}^{n}+{b}^{n}={c}^{n}...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
19.06.2011, 11:56
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru