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

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

Восстановить пароль Регистрация
 
Веталя
1 / 1 / 0
Регистрация: 24.09.2012
Сообщений: 54
16.05.2013, 18:56     Вычислить площать S, радиус R треугольника, если заданы сторона, угол, радиус описанного круга #1
в треугольнике заданы сторона b, угол А радиус описаного круга R. Вычеслить и вывести на экран все остальные лементы треугольника площать S, радиус R. Треугольник так же вывести на экран. Заданые параметры вводить с клавиатуры.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.05.2013, 18:56     Вычислить площать S, радиус R треугольника, если заданы сторона, угол, радиус описанного круга
Посмотрите здесь:

C++ Заданы радиус круга ...
C++ Радиус круга
C++ Вычислить радиус круга, вписанного в равнобедренный треугольник
C++ Вычислите площадь круга, если известен его радиус
C++ Напишите программу, которая считывает радиус круга и печатает диаметр круга, длину окружности и площадь
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
eocron
Кактус
 Аватар для eocron
66 / 66 / 6
Регистрация: 23.05.2012
Сообщений: 343
16.05.2013, 19:19     Вычислить площать S, радиус R треугольника, если заданы сторона, угол, радиус описанного круга #2
А Вы сначала на листочке посчитайте и выведите формулы для b c и S
Веталя
1 / 1 / 0
Регистрация: 24.09.2012
Сообщений: 54
16.05.2013, 19:23  [ТС]     Вычислить площать S, радиус R треугольника, если заданы сторона, угол, радиус описанного круга #3
формулы я уже вывел
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
#include<iostream>
#include<conio.h>
#include<math.h>
#include<stdlib.h>
#include <graphics.h>
#include <dos.h>
#include <time.h>
mega(void);
void main()
{
  float Pi=3.14;
  float kutAg, kutAr,a,b,c,R,S,P,ha,hb,hc,sinA;
  float Ax,Ay,Bx,By,Cx,Cy,Hx,Hy;
  cout<< "\n Vvedite storonu \"b\"\n";
  cin>>b;
  cout<<"\n Vvedit Radius \"R\"\n";
  cin>>R;
  cout<<"\n Vvedit kut \"A\"\n";
  cin>>Ar;
  start=clock();
if(sinA>=-1&&sinA<=1)
 {
   kutAr=asin(sinA);
   kutAg=(kutAr*180)/Pi;
   S=sqrt(P*(P-a)*(P-b)*(P-c));
   P=3*R*sqrt(3);
   P=a+b+c;
   S=(R*P)/2;
}
а вот как вывести все это на экран, я не знаю.
zss
Модератор
Эксперт С++
 Аватар для zss
5950 / 5555 / 1786
Регистрация: 18.12.2011
Сообщений: 14,195
Завершенные тесты: 1
16.05.2013, 19:39     Вычислить площать S, радиус R треугольника, если заданы сторона, угол, радиус описанного круга #4
Разбиваем треугольник на 3 равнобедренных треугольника.
Равные стороны у них у всех равны R.
Обозначим их углы при основаниях alfa,beta,gamma,
длины оснований a,b,c;
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
void main()
{
   cout<< "\n Vvedite storonu \"b\"\n";
  double b;cin>>b;
  cout<<"\n Vvedit Radius \"R\"\n";
  double R;cin>>R;
  cout<<"\n Vvedit kut \"A\"\n";
  double A;cin>>A;
 
   double alfa=acos(b/2.0/R);
   double beta=A-alfa;
   double a=2.*R*cos(beta);
   double gamma=(M_PI-(A+alfa+beta))/2.;
   double c=2.*R*cos(gamma);
   double S=b*R*sin(alfa)/2.0+a*R*sin(beta)/2.0+c*sin(gamma)/2.;
   cout<<"a="<<a<<" b="<<b<<" c="<<c<<" S="<<S<<endl;
   system("pause");
}
Веталя
1 / 1 / 0
Регистрация: 24.09.2012
Сообщений: 54
16.05.2013, 20:15  [ТС]     Вычислить площать S, радиус R треугольника, если заданы сторона, угол, радиус описанного круга #5
а теперь нужно вывести этот треугольник на экран, при том, что б фон экрана был синий, линии треугольника белые а буквы желтые. Треугольник должени быть подписан.
это пока что готово:
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
#include<iostream>
#include<conio.h>
#include<math.h>
#include<stdlib.h>
#include <dos.h>
#include <time.h>
using namespace std;
void main()
{
  float Ag,Ar,a,b,c,R,S,P,ha,hb,hc,sinA, alfa, beta, gama, Pi=3.14;
  float Ax,Ay,Bx,By,Cx,Cy,Hx,Hy;
  cout<< "\n Vvedite storonu \"b\"\n";
  cin>>b;
  cout<<"\n Vvedit Radius \"R\"\n";
  cin>>R;
  cout<<"\n Vvedit kut \"A\"\n";
  cin>>Ar;
if(sinA>=-1&&sinA<=1)
 {
   Ar=asin(sinA);
   Ag=(Ar*180)/Pi;
   S=sqrt(P*(P-a)*(P-b)*(P-c));
   P=3*R*sqrt(3);
   P=a+b+c;
   S=(R*P)/2;
}
else
{
printf("\n Vvedit drugie znacheniya");
}
 alfa=acos(b/2.0/R);
 beta=Ag-alfa;
 a=2.*R*cos(gama);
 gama=(Pi-(Ag+alfa+beta))/2.;
cout<<"a="<<a<<"b="<<b<<"c="<<c<<"S="<<S<<endl;
getch();
}
Работает нормально, но только нужно "угадать" значения треугольника, при которых он существует.

Добавлено через 5 минут
есть маленькая ошибка в условии задачи: вывести нужно периметр P* и площадь S при известных радиусе, стороне и угле. Угол А лежит противоположно стороне а.
Yandex
Объявления
16.05.2013, 20:15     Вычислить площать S, радиус R треугольника, если заданы сторона, угол, радиус описанного круга
Ответ Создать тему
Опции темы

Текущее время: 01:57. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru