Площадь равнобедренного треугольника, вписанного в окружность радиуса R - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Вычислить площадь равнобедренного треугольника, вписанного в окружность радиуса R, если известен угол А между его равными сторонами. Вычислить также отношение площадей круга и треугольника. Проверить работу программы при вычислении отношения площадей при вводе значений А=pi/3 (когда S тр. = 3*pow(3,1/2)*R*R/4) и A=pi/2 (когда S тр. =R*R) Вот, что написал:
#include "stdafx.h"
#include "math.h"
#include "conio.h"
 
int _tmain(int argc, _TCHAR* argv[])
{
    //Описание перменных.
    float A, a, b, R, Rr, S, S1, S2, SX, SX1, SY, SY1;
    const float pi = 3.14;
    //Ввод переменных.
    printf("Input A,R: ");
    scanf_s("%lf%lf",&A,&R);
    //Упрощение. 
    Rr = R*R;
    //Расчет сторон треугольника.
    a = 2.0 * R*sin(A);
    b = 2.0 * R*sin((pi - A) / 2.0);
    //Расчет площади треугольника.
    S1 = a*b*b / 4.0 * R;
    //Расчет площади круга.
    S2 = pi*Rr;
    //Расчет отношения площадей.
    S = S2 / S1;
    //Расчет площади треугольника для A=pi/3.
    SX1 = 3.0 * pow(3.0, 1 / 2)*Rr/4.0;
    //Расчет отношения площадей для A=pi/3.
    SX = S2 / SX1;
    //Расчет площади треугольника для A=pi/2.
    SY1 = Rr;
    //Расчет отношения площадей для A=pi/2.
    SY = S2 / SY1;
    //Вывод значений.
    printf("S= %g\tS/S=%g\n", S1, S);
    printf("For А=pi/3 S=%g\tS/S=%g\n", SX1, SX);
    printf("For A=pi/2 S=%g\tS/S=%g", SY1, SY);
    _getch;
    return 0;
}
Впервые программирую на этом языке, подскажите, что в этой программе не так.

Решение задачи: «Площадь равнобедренного треугольника, вписанного в окружность радиуса R»

textual
Листинг программы
#define _USE_MATH_DEFINES
#include <math.h>
...
//const float pi = 3.14;
...
b = 2.0 * R*sin(M_PI-2.*A);
S1 = a*b*b /( 4.0 * R);

Объяснение кода листинга программы

  1. Подключаем библиотеку math.h для использования математических функций
  2. Устанавливаем значение константы pi с помощью препроцессора M_PI
  3. Вычисляем длину стороны треугольника b с помощью формулы sin(A+B)=sin(A)cos(B) и значения константы pi
  4. Вычисляем площадь треугольника S1 с помощью формулы площади равнобедренного треугольника abb/(4*R)

Оцени полезность:

15   голосов , оценка 4.133 из 5
Похожие ответы