Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
shmat_ru
1 / 1 / 0
Регистрация: 23.12.2012
Сообщений: 161
#1

Вычислить элементы треугольника - C++

01.01.2013, 17:53. Просмотров 795. Ответов 10
Метки нет (Все метки)

http://www.cyberforum.ru/attachments...c36ea20fc8.jpg
В треугольнике (см. рис. 1.8, а) заданы три стороны a и b и c. Вычислить и вывести на экран остальные элементы треугольника.Решить на ++Си,Geany
http://www.cyberforum.ru/cpp-beginners/thread407861.html
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.01.2013, 17:53
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Вычислить элементы треугольника (C++):

В треугольнике заданы две стороны a, b и площадь S. Вычислить и вывести на экран остальные элементы треугольника.
В треугольнике заданы две стороны a, b и площадь S. Вычислить и вывести на...

матрица разделена диагоналями на 4 треугольника, элементы верхнего и нижнего треугольника нулевые
Задание матрица разделена диагоналями на 4 треугольника, элементы верхнего и...

Даны три положительных числа а, b, с. Проверить, будут ли они сторонами треугольника. Если да, то вычислить площадь этого треугольника.
Помогите, пожалуйста, исправить здесь ошибку времени... #include<iostream>...

Два треугольника заданы координатами своих вершин A,B,C. Вычислить площадь треугольника и определить какой треугольник имеет большую площадь
Два треугольника заданы координатами своих вершин A,B,C. Вычислить площадь...

Вычислить высоту треугольника
Всем привет!Поступил на первый курс!У нас програмирование на Borland C++!Уже...

10
Sasha_Smirnov
5459 / 1299 / 142
Регистрация: 08.02.2009
Сообщений: 4,008
Записей в блоге: 29
01.01.2013, 19:36 #2
Цитата Сообщение от shmat_ru Посмотреть сообщение
++Си
Это радует, но при чём тут бэйсик?!
0
shmat_ru
1 / 1 / 0
Регистрация: 23.12.2012
Сообщений: 161
02.01.2013, 10:00  [ТС] #3
Мне на mingw надо написать и на Geany

Добавлено через 3 часа 0 минут
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
#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;
int  main(void)
{
    double a, b, c ,;
    const double Pi=3.1415;
    cout<<"vvedite a, a="; cin>>a;
    cout<<"\nvvedite b, b="; cin>>b;
    cout<<"\nvvedite c, c="; cin>>c;;
    double A=Ar*180/Pi;
    double Br=asin(b/a*sin);
    double B=Br*180/Pi;
    double C=180-A-B;
    double S = 1.0/2*a*b*sin;
    double Cr=C*pi/180;
    double Hb=a*sin(Cr);
    cout<<"\n  A="<<fixed<<setprecision(2)<<A<<endl;
    cout<<"\n  B="<<fixed<<setprecision(2)<<B<<endl;
    cout<<"\n  C="<<fixed<<setprecision(2)<<C<<endl;
    cout<<"\n  S="<<fixed<<setprecision(2)<<c<<endl;
    cout<<"\n  Hb="<<fixed<<setprecision(2)<<Hb<<endl;
    cin.get();
    cin.get();
}
Что тут не так?
0
shmat_ru
1 / 1 / 0
Регистрация: 23.12.2012
Сообщений: 161
02.01.2013, 16:01  [ТС] #4
Цитата Сообщение от shmat_ru Посмотреть сообщение
Мне на mingw надо написать и на Geany

Добавлено через 3 часа 0 минут
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
#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;
int  main(void)
{
    double a, b, c ,;
    const double Pi=3.1415;
    cout<<"vvedite a, a="; cin>>a;
    cout<<"\nvvedite b, b="; cin>>b;
    cout<<"\nvvedite c, c="; cin>>c;;
    double A=Ar*180/Pi;
    double Br=asin(b/a*sin);
    double B=Br*180/Pi;
    double C=180-A-B;
    double S = 1.0/2*a*b*sin;
    double Cr=C*pi/180;
    double Hb=a*sin(Cr);
    cout<<"\n  A="<<fixed<<setprecision(2)<<A<<endl;
    cout<<"\n  B="<<fixed<<setprecision(2)<<B<<endl;
    cout<<"\n  C="<<fixed<<setprecision(2)<<C<<endl;
    cout<<"\n  S="<<fixed<<setprecision(2)<<c<<endl;
    cout<<"\n  Hb="<<fixed<<setprecision(2)<<Hb<<endl;
    cin.get();
    cin.get();
}
Что тут не так?
Помогите
0
Миниатюры
Вычислить элементы треугольника  
Nixy
ComfyMobile
400 / 281 / 34
Регистрация: 24.07.2012
Сообщений: 916
02.01.2013, 16:06 #5
C++
1
 double Br=asin(b/a*sin);
ну хотя бы эта строчка что у вас в аргумент sin идет? и дальше теже ошибки, подумайте не спешите. исправляйте
0
shmat_ru
1 / 1 / 0
Регистрация: 23.12.2012
Сообщений: 161
02.01.2013, 16:12  [ТС] #6
Nixy, Я не знаю какие ошибки,мне надо углы вычислить,высоту,площадь
0
Nixy
ComfyMobile
400 / 281 / 34
Регистрация: 24.07.2012
Сообщений: 916
02.01.2013, 16:29 #7
я вам уже указал на вашу ошибку, во 1 программная ошибка, то что вы в функцию не передаете параметр sin() требует параметр угла sin(0) например, у вас он просто написан, во 2 формулы которые вы пытаетесь применить в корне не верны, я вам предлагаю посидеть и не торопясь подумать
0
shmat_ru
1 / 1 / 0
Регистрация: 23.12.2012
Сообщений: 161
02.01.2013, 17:13  [ТС] #8
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
include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;
int  main(void)
{
    double a, b, c ,;
    const double Pi=3.1415;
    cout<<"vvedite a, a="; cin>>a;
    cout<<"\nvvedite b, b="; cin>>b;
    cout<<"\nvvedite c, c="; cin>>c;;
    double A=Ar*180/Pi;
    double Br=asin(0)(b/a*sin(0));
    double B=Br*180/Pi;
    double C=180-A-B;
    double S = 1.0/2*a*b*sin(0);
    double Cr=C*pi/180;
    double Hb=a*sin(0);
    cout<<"\n  A="<<fixed<<setprecision(2)<<A<<endl;
    cout<<"\n  B="<<fixed<<setprecision(2)<<B<<endl;
    cout<<"\n  C="<<fixed<<setprecision(2)<<C<<endl;
    cout<<"\n  S="<<fixed<<setprecision(2)<<c<<endl;
    cout<<"\n  Hb="<<fixed<<setprecision(2)<<Hb<<endl;
    cin.get();
    cin.get();
}
так ещё больше ошибок,у меня вариантов больше нет

Добавлено через 55 секунд
Nixy,
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
 include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;
int  main(void)
{
    double a, b, c ,;
    const double Pi=3.1415;
    cout<<"vvedite a, a="; cin>>a;
    cout<<"\nvvedite b, b="; cin>>b;
    cout<<"\nvvedite c, c="; cin>>c;;
    double A=Ar*180/Pi;
    double Br=asin(0)(b/a*sin(0));
    double B=Br*180/Pi;
    double C=180-A-B;
    double S = 1.0/2*a*b*sin(0);
    double Cr=C*pi/180;
    double Hb=a*sin(0);
    cout<<"\n  A="<<fixed<<setprecision(2)<<A<<endl;
    cout<<"\n  B="<<fixed<<setprecision(2)<<B<<endl;
    cout<<"\n  C="<<fixed<<setprecision(2)<<C<<endl;
    cout<<"\n  S="<<fixed<<setprecision(2)<<c<<endl;
    cout<<"\n  Hb="<<fixed<<setprecision(2)<<Hb<<endl;
    cin.get();
    cin.get();
}
вариантов у меня нет
0
Nixy
ComfyMobile
400 / 281 / 34
Регистрация: 24.07.2012
Сообщений: 916
02.01.2013, 17:15 #9
sin(0) был как пример, я вас призываю еще раз внимательно на формулы посмотреть , подсказка там синус не нужен вообще.

Не по теме:

вы на кого учитесь?

0
shmat_ru
1 / 1 / 0
Регистрация: 23.12.2012
Сообщений: 161
02.01.2013, 18:10  [ТС] #10
Nixy,
include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;
int main(void)
{
double a, b, c ,;
const double Pi=3.1415;
cout<<"vvedite a, a="; cin>>a;
cout<<"\nvvedite b, b="; cin>>b;
cout<<"\nvvedite c, c="; cin>>c;;
double A=Ar*180/Pi;
double Ap=A*pi/180
double Bp=B(b/a*pi/180)
double B=Br*180/Pi;
double C=180-A-B;
double S = 1/2AB;
double Cr=C*pi/180;
double Hb=B*b;
cout<<"\n A="<<fixed<<setprecision(2)<<A<<endl;
cout<<"\n B="<<fixed<<setprecision(2)<<B<<endl;
cout<<"\n C="<<fixed<<setprecision(2)<<C<<endl;
cout<<"\n S="<<fixed<<setprecision(2)<<c<<endl;
cout<<"\n Hb="<<fixed<<setprecision(2)<<Hb<<endl;
cin.get();
cin.get();
}
я коечто исправил всёравно ошибок много

Добавлено через 39 минут
Помогите решить срочно надо
0
Nixy
ComfyMobile
400 / 281 / 34
Регистрация: 24.07.2012
Сообщений: 916
02.01.2013, 18:24 #11
Лучший ответ Сообщение было отмечено как решение

Решение

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
#include <iostream>
#include <math.h>
#include <windows.h>
using namespace std;
 
 
double perimetr(double a,double b,double c){
    return a+b+c;
}
 
double square(double a,double b,double c){
    double p = perimetr(a,b,c)/2;
    return sqrt(p*(p-a)*(p-b)*(p-c));
}
// по теореме косинусов
double angle(double a,double b,double c){
    return acos( (a*a - b*b  - c*c)/(-2*b*c));
}
 
double r(double a,double b,double c){
    double p = perimetr(a,b,c);
    return sqrt((p-a)*(p-b)*(p-c)/p);
}
 
double R(double a,double b,double c){
    return a/2/sin(angle(a,b,c));
}
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    double a,b,c;
    cout << "Введите три стороны треугольника" << endl;
    cin >> a >> b >> c;
    if (a+b > c & a+c > b & b+c > a) {
 
        cout << "Периметр равен " << perimetr(a,b,c) << endl;
        cout << "Площадь равна "  << square(a,b,c) << endl;
        cout << "Угол напротив стороны А " << angle(a,b,c)*180/M_PI  <<endl;
        cout << "Угол напротив стороны В " << angle(b,a,c)*180/M_PI  <<endl;
        cout << "Угол напротив стороны С " << angle(c,a,c)*180/M_PI  <<endl;
        cout << "Высота Hb равна " << square(a,b,c)*2/b <<endl;
        cout << "Радиус вписаной окружности r " << r(a,b,c) <<endl;
        cout << "Радиус описаной окружности R " << R(a,b,c) <<endl;
    } else {
        cout << "Треугольник не существует " <<endl;
    }
    system("pause");
}
1
02.01.2013, 18:24
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.01.2013, 18:24
Привет! Вот еще темы с решениями:

Вычислить площадь треугольника
Добрый вечер !Сделал подпрограммку ,сама программа начала неправильно вычислять...

Вычислить параметр треугольника
Здравствуйте уважаемые форумчане! Даны стороны треугольника а, b, c....

Вычислить периметр треугольника
Даны координаты трех вершин треугольника A(x 1,y 1), B(x 2,y 2) и С(x 3,y3)....

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


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

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

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