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

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

Войти
Регистрация
Восстановить пароль
 
uemaka
0 / 0 / 0
Регистрация: 02.09.2013
Сообщений: 33
#1

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

27.01.2014, 12:12. Просмотров 1149. Ответов 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 скажите пожалуйста где у меня ошибка.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.01.2014, 12:12     Вычислить углы треугольника зная его стороны.
Посмотрите здесь:
Найти стороны треугольника, зная его углы и радиус описанной окружности C++
C++ Найти заданный угол треугольника, зная две его стороны и периметр
Вычислить сторону треугольника ABC, зная две другие стороны и угол между ними C++
C++ Создать класс Triangle для представления треугольника. Поля данных должны включать углы и стороны.
Зная три стороны, определить, являются ли они сторонами треугольника и является ли он прямоугольным C++
Определить углы прямоугольного треугольника, если известны два его катета и гипотенуза C++
Как зная площадь треугольника установиться его координаты. C++
C++ Найти площадь равностороннего треугольника, зная его периметр
C++ Найти расстояние от ближайшей точки треугольника до его стороны с функцией
C++ Найти площадь равностороннего треугольника, если известна его стороны
C++ Вычислите площадь треугольника, если известны две его стороны
C++ Найти площадь равностороннего треугольника, зная его периметр (объяснить код)

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

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

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