This repository has been archived on 2026-07-28. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files

52 lines
1.4 KiB
C++

#include <iostream>
#include <cmath>
#include <graphics.h>
using namespace std;
int main() {
// Установка графического режима
int gd = DETECT, gm;
initgraph(&gd, &gm, "");
// Параметры задачи
const double a = 11; // Меньшая сторона треугольника
const double k1 = 6, k2 = 7, k3 = 23; // Отношения дуг
// Вычисление углов треугольника
double alpha = (k1 / (k1 + k2 + k3)) * 360;
double beta = (k2 / (k1 + k2 + k3)) * 360;
double gamma = (k3 / (k1 + k2 + k3)) * 360;
// Вычисление радиуса описанной окружности
double R = a / (2 * sin(gamma * M_PI / 180));
// Вывод условия задачи в графическом виде
setcolor(WHITE);
outtextxy(10, 10, "Вершины треугольника делят описанную около него окружность");
outtextxy(10, 30, "на три дуги, длины которых относятся, как 6:7:23.");
outtextxy(10, 50, "Найти радиус окружности, если меньшая из сторон треугольника равна 11.");
// Рисование треугольника
int x0 = 200, y0 = 200;
int x1 = x0 + a / 2, y1 = y0 + a * sqrt(3) / 2;
int x2 = x0 - a / 2, y2 = y0 + a * sqrt(3) / 2;
line(x0, y0, x1, y1);
line(x1, y1, x2, y2);
line(x2, y2, x0, y0);
// Рисование описанной окружности
circle(x0, y0+6, R*1.2);
// Вывод ответа
char text[50];
sprintf(text, "Радиус окружности: %.2f", R);
outtextxy(10, 70, text);
getch();
closegraph();
return 0;
}