Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/12: Рейтинг темы: голосов - 12, средняя оценка - 4.75
uemaka
0 / 0 / 0
Регистрация: 02.09.2013
Сообщений: 33
1

Вычислить углы треугольника зная его стороны.

27.01.2014, 12:12. Просмотров 2479. Ответов 4
Метки нет (Все метки)

Задание написать прогу но вместо переменной использовать ссылку на неё.Вычислить углы треугольника зная его стороны.Решил писать через теорему косинусов.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
double fun(double &a,double &b,double &c)
{
    const int pi = 3.14;
    double y,x,z;
y = ((b*b+c*c)-a*a)/2*c*b;
x = ((c*c + a*a)-b*b)/2*c*a;
z = ((b*b+a*a)-c*c)/2*b*a;
return cos(y*pi/180),cos(x*pi/180),cos(z*pi/180);
}   
void main()
{
  double A,B,C;
  cin >> A >> B >> C;
  cout << fun(A,B,C) << endl;
 
}
Проблема в том что прога выводит всего один угол а не все 3 скажите пожалуйста где у меня ошибка.
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.01.2014, 12:12
Ответы с готовыми решениями:

Найти стороны треугольника, зная его углы и радиус описанной окружности
2)Треугольник задан величинами своих углов и радиусом описанной окружности....

Найти заданный угол треугольника, зная две его стороны и периметр
Всем привет. Что то я совсем туплю с этой тригонометрией, хотя школу всего 5...

Вычислить сторону треугольника ABC, зная две другие стороны и угол между ними
есть код{float a,b,c,x; setlocale(LC_ALL,&quot;Russian&quot;); cout&lt;&lt;&quot;Вычислить...

Зная площадь прямоугольного треугольника и угол при основании, найти все стороны треугольника
Требования к программе: - Входные данные ввести с помощью стандартных процедур...

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

4
Ikol
7 / 7 / 3
Регистрация: 11.02.2012
Сообщений: 21
27.01.2014, 12:17 2
Функция возвращает только одно значение.
Так можно попробовать либо вывод внутри функции сделать, ну или вытаскивать из функции значения при помощи указателей.
Ну или, что более адекватно, на мой взгляд, функцию переделать, чтобы она была универсальной и искала один угол только, а в основной программе уже задавать ей различные значения
1
Enotniy
98 / 99 / 31
Регистрация: 15.01.2014
Сообщений: 283
27.01.2014, 12:19 3
Цитата Сообщение от uemaka Посмотреть сообщение
Проблема в том что прога выводит всего один угол а не все 3 скажите пожалуйста где у меня ошибка.
На сколько я знаю c++ не поддерживает возвращение нескольких элементов.
А ещё выдает не правильный результат на ввод 1 2 3
1
Ikol
7 / 7 / 3
Регистрация: 11.02.2012
Сообщений: 21
27.01.2014, 12:25 4
Лучший ответ Сообщение было отмечено uemaka как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
double fun(double &a,double &b,double &c)
{
const int pi = 3.14;
double x;
x = ((a*a+b*b)-c*c)/2*a*b;
return cos(x*pi/180);
}
 
void main()
{
double A,B,C;
cin >> A >> B >> C;
cout << fun(A,B,C) << endl;
cout << fun(B,C,A) << endl;
cout << fun(A,C,B) << endl;
}
Ну примерно так, если по минимуму менять ваш код
1
Enotniy
98 / 99 / 31
Регистрация: 15.01.2014
Сообщений: 283
27.01.2014, 12:44 5
uemaka,
работает прога не правильно - для правильной работы поставьте скобочки
C++
1
2
3
y = ((b*b+c*c)-a*a)/(2*c*b);
x = ((c*c + a*a)-b*b)/(2*c*a);
z = ((b*b+a*a)-c*c)/(2*b*a);
Добавлено через 7 минут
uemaka, куча ошибок
не могу смотреть - вот под нормальный, без проверки на правильность треугольника
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <math.h>
using namespace std;
 
double fun(double &a,double &b,double &c)
{
    const double pi = acos(-1.0);
    double y;
    y = ((b*b+c*c)-a*a)/(2*c*b);
    return acos(y)*180/pi;
}   
void main()
{
    double A,B,C;
    cin >> A >> B >> C;
    cout << fun(A,B,C) << endl;
    cout << fun(B,C,A) << endl;
    cout << fun(C,A,B) << endl;
}
0
27.01.2014, 12:44
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.01.2014, 12:44

Создать класс Triangle для представления треугольника. Поля данных должны включать углы и стороны.
Создать класс Triangle для представления треугольника. Поля данных должны...

Зная три стороны, определить, являются ли они сторонами треугольника и является ли он прямоугольным
Есть три длины сторон треугольника (например 5,4,3) Нужно выяснить, существует...

Определить углы прямоугольного треугольника, если известны два его катета и гипотенуза
С клавиатуры вводятся три вещественных числа — два катета и гипотенуза...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

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