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

Нахождение углов треугольника по трем его сторонам - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Динамическая память(толи я дурак, то ли правда лыжи не едут) http://www.cyberforum.ru/cpp-beginners/thread950105.html
Есть код программы: #include <stdio.h> #include <conio.h> #include <stdlib.h> #include <time.h> const int N=10;//razmer matritsi const int NPOW=N*N; const int RANDMAXIMUM=99;//maksimal'noe...
C++ Пожалуйста подскажите, что означает оператор! Доброго времени суток. Перевожу Сишный исходник в Делфи и столкнулся с такой строкой v5 = **(_DWORD **)v6->h_addr_list; Подскажите пожалуйста, что она означает, а в частности что означает **(_DWORD... http://www.cyberforum.ru/cpp-beginners/thread950097.html
C++ Чтение графических файлов
Здравствуйте уважаемые участники форума. Есть задание для курсового проекта, связанная с программированием C++. Приведу небольшой пример: имеется графический файл, допустим формата jpeg, нужна...
Программирование циклического вычислительного процесса C++
12. Дан набор ненулевых целых чисел; признак его завершения — число 0. Вывести сумму всех положительных четных чисел из данного набора. Если требуемые числа в наборе отсутствуют, то вывести 0. ...
C++ Как же все-таки лучше всего перегружать операторы? http://www.cyberforum.ru/cpp-beginners/thread950042.html
1. Нужно ли использовать friend там, где это возможно? (или не стоит злоупотреблять где-нибудь?) 2. Стоит ли при перегрузке бинарного оператора "+" делать его обособленным от класса? // свободная...
C++ Нахождение корня уравнения найти корни уравнения и отделить один из них методом деления отрезка пополам x^2=sinx подробнее

Показать сообщение отдельно
StriBog45
6 / 6 / 2
Регистрация: 03.09.2013
Сообщений: 81

Нахождение углов треугольника по трем его сторонам - C++

08.09.2013, 11:59. Просмотров 4404. Ответов 4
Метки (Все метки)

На данный момент у меня получается вот так.. На форуме есть подобная тема но она на языке паскаль Найти углы треугольника по его сторонам

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include "stdafx.h"
#include "math.h"
#include <iostream>
using namespace std; 
int main()
{
double a,b,c,S,u;
 
cout << "a = ";
cin >> a; 
cout << "b = ";
cin >> b;
cout << "c = ";
cin >> c;
 
cos(u)=a*a/(b*b+a*a-2*b*c);   // Вот в этом моменте я да и c++ входит в ступор.) Не знаю как это написать
u=acos(u);                              // по другому
 
cout<<"u = "<<u<<"\n"; 
system("PAUSE");
return 0; 
}
Инструкцию по нахождению углов в интернете я нашёл такую:
Обозначим длины сторон треугольника a=2, b=3, c=4, а его углы u, v, w, каждый из которых лежит напротив одной сторон. По теореме косинусов квадрат длины стороны треугольника равен сумме квадратов длин двух других сторон минус удвоенное произведение этих сторон на косинус угла между ними. То есть a^2 = b^2 + c^2 - 2bc*cos(u). Подставим в это выражение длины сторон и получим: 4 = 9 + 16 - 24cos(u).

2
Выразим из полученного равенства cos(u). Получим следующее: cos(u) = 7/8. Далее найдём собственно угол u. Для этого посчитаем arccos(7/8). То есть угол u = arccos(7/8).

3
Аналогичным образом, выражая другие стороны через остальные, найдём оставшиеся углы.

Есть у кого идеи выразить cos(u) и потом через arccos получить u?

Добавлено через 25 минут
Нашёл формулу: c*c=a*a+b*b-2*a*b*cos gamma --> gamma=acos(a*a+b*b-c*c/(2*a*b))
Возможно это она же что пытались сказать в инструкции,но всё равно получается результат не правильный,при a = 3, b = 4, c = 5 gamma получается = -1.#IND . Даже не понятно что это. Видимо что то путаю.. Нужна помощь..
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include "stdafx.h"
#include "math.h"
#include <iostream>
using namespace std; 
int main()
{
double a,b,c,S,gamma;
 
cout << "a = ";
cin >> a; 
cout << "b = ";
cin >> b;
cout << "c = ";
cin >> c;
 
gamma=acos(a*a+b*b-c*c/(2*a*b));
 
cout<<"gamma = "<<gamma<<"\n"; 
system("PAUSE");
return 0; 
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru