Вопрос задан 20.08.2026 в 14:10. Предмет Информатика. Спрашивает Олялин Коля.

Даны три вершины треугольника. Найдите длины сторон треугольника и высоту. C++

Перейти к ответам

Ответы на вопрос

Отвечает Жолобова Варвара.

Если даны координаты трёх вершин \( A(x_1,y_1) \), \( B(x_2,y_2) \), \( C(x_3,y_3) \), длины сторон ищем по формуле расстояния между точками:

\[ AB=\sqrt{(x_2-x_1)^2+(y_2-y_1)^2} \]

Высоту к стороне \( AB \) можно найти так: сначала площадь по формуле Герона, затем \( h=\frac{2S}{AB} \).

C++:
#include <iostream>
#include <cmath>
using namespace std;

double dist(double x1, double y1, double x2, double y2) {
    return sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1));
}

int main() {
    double x1, y1, x2, y2, x3, y3;
    cin >> x1 >> y1 >> x2 >> y2 >> x3 >> y3;

    double a = dist(x2, y2, x3, y3);
    double b = dist(x1, y1, x3, y3);
    double c = dist(x1, y1, x2, y2);

    double p = (a + b + c) / 2;
    double S = sqrt(p * (p - a) * (p - b) * (p - c));
    double h = 2 * S / c;

    cout << "Sides: " << a << " " << b << " " << c << endl;
    cout << "Height to side AB: " << h << endl;

    return 0;
}

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос