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

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

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

Расчёт всех параметров треугольника - C++

27.02.2012, 15:43. Просмотров 747. Ответов 3
Метки нет (Все метки)

Задаются 2 стороны и угол между ними. По этим данным надо посчитать все параметры.

Проблема: задаю для простоты египетский треуг со сторонами 3,4 и угол 90град. Всё нормально расчитывает, а вот острые углы пишет 53 градуса и 36. Как угодно переделывал - не получается. Остановился на теореме косинусов.

Подскажите пожалуйста, где проблема, где ошибка?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
#include <fstream.h>
#include <math.h>
#include <complex.h>
main()
{
    float Cr,a,b,c,uA,uB,uC,Ha,Hb,Hc,p,per,s,Ro,Rv;
    float const pi=3.1415926535;
    clrscr();
    cout<<"Vvedite 2 storony treugolnika: a,b: \n";
    scanf("%f%f", &a, &b);
    cout<<"Vvedite ugol C: \n";
    scanf("%f",&uC);
    Cr=uC*pi/180;
    c=sqrt(a*a+b*b-2*a*b*cos(Cr));
    uB=acos((a*a+c*c-b*b)/(2*a*c))*180/pi;
    uA=acos((b*b+c*c-a*a)/(2*b*c))*180/pi;;
    p=(a+b+c)/2;
    s=0.5*a*b*sin(Cr);
    Ha=2*s/a;
    Hb=2*s/b;
    Hc=2*s/c;
    per=2*p;
    Ro=a/(2*sin(uA*pi/180));
    Rv=s/p;
    cout<<"Rezultaty:\n";
    cout<<"Storona C = ";
    printf("%f",c);
    cout<<"\nUgol A = ";
    printf("%f",uA);
    cout<<"\nUgol B = ";
    printf("%f",uB);
    cout<<"\nUgol C = ";
    printf("%f",uC);
    cout<<"\nVysota Ha = ";
    printf("%f",Ha);
    cout<<"\nVysota Hb  = ";
    printf("%f",Hb);
    cout<<"\nVysota Hc = ";
    printf("%f",Hc);
    cout<<"\nPerimetr = ";
    printf("%f",per);
    cout<<"\nS = ";
    printf("%f",s);
    cout<<"\nRadius opis okr = ";
    printf("%f",Ro);
    cout<<"\nRadius vpis okr = ";
    printf("%f",Rv);
getch();
return 0;
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.02.2012, 15:43
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Расчёт всех параметров треугольника (C++):

Расчёт статистических параметров - C++
Тема: Разработать программу на языке С++ с визуальным интерфейсом для автоматизированного расчёта статистических параметров результатов...

Расчёт площади для парковки авто (тип авто, площадь, расчёт средней общей) - C++
Расчёт площади для парковки авто (тип авто, площадь, расчёт средней общей). Помогите пожалуйста)))))))

В функции с переменным числом параметров найти сумму всех элементов каждого массива - C++
Bвести три массива чисел типа double . Первый элемент массива - количество чисел в массиве , их не более 9. В функции с переменным числом...

В функцию передается несколько целых чисел. Создать из всех параметров динамический массив и вернуть указатель - C++
В функцию передается несколько целых чисел. Создать из всех параметров динамический массив и вернуть указатель на него. Первым элементом...

Составить программу которая по заданному значению соответствующего элемента, вычисляла бы значения всех остальных элементов треугольника. - C++
В общем суть задачи такова: Дан равнобедренный треугольник с катетом - a, гиппотенузой - b, высотой - h и площадью - s, и, нужно...

Функция с переменным числом параметров находящая максимальный элемент в списке параметров - C++
Написать функцию с переменным числом параметров:Максимальный из элементов в списке параметров, стоящих на нечетных местах....

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Merovingian
54 / 54 / 5
Регистрация: 24.09.2011
Сообщений: 149
27.02.2012, 16:39 #2
тяжело в вашем коде разобраться, вы хотя бы прокоментируйте где что пытаетесь найти.
0
AncinetHero
49 / 49 / 3
Регистрация: 22.05.2011
Сообщений: 326
27.02.2012, 16:47 #3
C++
1
2
uB=acos((a*a+c*c-b*b)/(2*a*c))*180/pi;
uA=acos((b*b+c*c-a*a)/(2*b*c))*180/pi;
180/pi по идее нужно под скобку засунуть
0
rebel91
0 / 0 / 0
Регистрация: 22.09.2009
Сообщений: 90
28.02.2012, 00:45  [ТС] #4
вносил в скобку - так вообще не считает, пишет NON.

Вся загвоздка в этой формуле

uB=acos((a*a+c*c-b*b)/(2*a*c))*180/pi;

это формула расчета угла по теореме косинусов. Вот и не пойму в чем ошибся
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.02.2012, 00:45
Привет! Вот еще темы с ответами:

Функция с переменным числом параметров, как узнать кличество переданных параметров? - C++
Добрый вечер, можно не использовать int n, а каким то другим способом узнать количество переданных аргументов в функцию и адрес? int suma...

Напишите (консольную) программу, принимающую на вход имя файла и набор параметров. В зависимости от параметров программа должна работать в трёх режима - C++
Вообщем такое же задание Добавлено через 2 минуты Напишите (консольную) программу, принимающую на вход имя файла и набор...

Известна гипотенуза С и противолежащий угол B прямоугольного треугольника. Найти периметр треугольника - C++
Помогите написать данную программу: Известна гипотенуза С и противолежащий угол B прямоугольного треугольника. Найти периметр треугольника

матрица разделена диагоналями на 4 треугольника, элементы верхнего и нижнего треугольника нулевые - C++
Задание матрица разделена диагоналями на 4 треугольника, элементы верхнего и нижнего треугольника нулевые.Не понимаю,как сделать???помогите...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
28.02.2012, 00:45
Ответ Создать тему
Опции темы

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