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

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

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

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

27.01.2014, 12:12. Просмотров 1367. Ответов 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
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вычислить углы треугольника зная его стороны. (C++):

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

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

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

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

Создать класс Triangle для представления треугольника. Поля данных должны включать углы и стороны. - C++
Создать класс Triangle для представления треугольника. Поля данных должны включать углы и стороны. Требуется реализовать операции:...

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

4
Ikol
7 / 7 / 3
Регистрация: 11.02.2012
Сообщений: 21
27.01.2014, 12:17 #2
Функция возвращает только одно значение.
Так можно попробовать либо вывод внутри функции сделать, ну или вытаскивать из функции значения при помощи указателей.
Ну или, что более адекватно, на мой взгляд, функцию переделать, чтобы она была универсальной и искала один угол только, а в основной программе уже задавать ей различные значения
1
Enotniy
96 / 95 / 14
Регистрация: 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
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
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
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;
}
0
27.01.2014, 12:44
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.01.2014, 12:44
Привет! Вот еще темы с ответами:

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

Как зная площадь треугольника установиться его координаты. - C++
Как зная площадь треугольника установиться его координаты. Естественно любые. Например площадь = 5 тогда координаты : 0 0 4 2 5...

Найти площадь равностороннего треугольника, зная его периметр - C++
Написать программу, которая подсчитывает: площадь равностороннего треугольника, периметр которого равен p;

Вычислите площадь треугольника, если известны две его стороны - C++
Вычислите площадь треугольника, если известны две его стороны.


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

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

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