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

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

27.01.2014, 12:12. Просмотров 3487. Ответов 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)
QA
Эксперт
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
99 / 100 / 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
99 / 100 / 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
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.01.2014, 12:44

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

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

Вычислить углы треугольника
Вычислить углы треугольника Не знаю в чем ошибка #include&lt;iostream&gt; #include&lt;math.h&gt; ...


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

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

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