#include #include #include 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; }