Форум программистов, компьютерный форум 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 znachenie vivodimoe rand()
C++ Пожалуйста подскажите, что означает оператор! Доброго времени суток. Перевожу Сишный исходник в Делфи и столкнулся с такой строкой v5 = **(_DWORD **)v6->h_addr_list; Подскажите пожалуйста, что она означает, а в частности что означает **(_DWORD **)v6 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. Стоит ли при перегрузке бинарного оператора "+" делать его обособленным от класса? // свободная ф-ия которая не friend для класса DATES // она просто использует публичный оператор operator += DATES operator + (const DATES& lhs, const DATES& rhs) { DATES result(lhs); result += rhs; //...
C++ Нахождение корня уравнения найти корни уравнения и отделить один из них методом деления отрезка пополам x^2=sinx подробнее

Показать сообщение отдельно
StriBog45
5 / 5 / 2
Регистрация: 03.09.2013
Сообщений: 81
08.09.2013, 11:59     Нахождение углов треугольника по трем его сторонам
На данный момент у меня получается вот так.. На форуме есть подобная тема но она на языке паскаль Найти углы треугольника по его сторонам

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; 
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 21:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru