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

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

Восстановить пароль Регистрация
 
uemaka
0 / 0 / 0
Регистрация: 02.09.2013
Сообщений: 33
27.01.2014, 12:12     Вычислить углы треугольника зная его стороны. #1
Задание написать прогу но вместо переменной использовать ссылку на неё.Вычислить углы треугольника зная его стороны.Решил писать через теорему косинусов.
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 скажите пожалуйста где у меня ошибка.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.01.2014, 12:12     Вычислить углы треугольника зная его стороны.
Посмотрите здесь:

C++ Вычислить гипотенузу треугольника, зная длины двух катетов
C++ Создать класс Triangle для представления треугольника. Поля данных должны включать углы и стороны.
Как зная площадь треугольника установиться его координаты. C++
C++ Найти площадь равностороннего треугольника, зная его периметр
Зная три стороны, определить, являются ли они сторонами треугольника и является ли он прямоугольным C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ikol
 Аватар для Ikol
7 / 7 / 3
Регистрация: 11.02.2012
Сообщений: 21
27.01.2014, 12:17     Вычислить углы треугольника зная его стороны. #2
Функция возвращает только одно значение.
Так можно попробовать либо вывод внутри функции сделать, ну или вытаскивать из функции значения при помощи указателей.
Ну или, что более адекватно, на мой взгляд, функцию переделать, чтобы она была универсальной и искала один угол только, а в основной программе уже задавать ей различные значения
Enotniy
 Аватар для Enotniy
96 / 95 / 14
Регистрация: 15.01.2014
Сообщений: 283
27.01.2014, 12:19     Вычислить углы треугольника зная его стороны. #3
Цитата Сообщение от uemaka Посмотреть сообщение
Проблема в том что прога выводит всего один угол а не все 3 скажите пожалуйста где у меня ошибка.
На сколько я знаю c++ не поддерживает возвращение нескольких элементов.
А ещё выдает не правильный результат на ввод 1 2 3
Ikol
 Аватар для Ikol
7 / 7 / 3
Регистрация: 11.02.2012
Сообщений: 21
27.01.2014, 12:25     Вычислить углы треугольника зная его стороны. #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 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;
}
Ну примерно так, если по минимуму менять ваш код
Enotniy
 Аватар для Enotniy
96 / 95 / 14
Регистрация: 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;
}
Yandex
Объявления
27.01.2014, 12:44     Вычислить углы треугольника зная его стороны.
Ответ Создать тему
Опции темы

Текущее время: 16:09. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru