
По координатам трёх вершин некооторого треугольника найдите его площадь и периметр


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

#include <math.h>
using namespace std;
class Vertice {
public:
double x, y;
friend istream &operator>>(istream &is, Vertice &v) {
is >> v.x >> v.y ;
}
double distance(Vertice &w);
};
double Vertice::distance(Vertice &w) {
return sqrt( pow(this->x-w.x,2) + pow(this->y-w.y,2));
}
class Triangle {
public:
Vertice a, b, c;
Triangle(Vertice v, Vertice w, Vertice u);
double Square();
double Perimetr();
};
Triangle::Triangle(Vertice v, Vertice w, Vertice u) {
this->a = v, this->b = w, this->c = u;
}
double Triangle::Perimetr() {
return this->a.distance(this->b) + this->a.distance(this->c) + this->b.distance(this->c);
}
double Triangle::Square() {
double a = this->a.distance(this->b), b = this->b.distance(this->c), c = this->a.distance(this->c),
p = (a+b+c)/2;
return sqrt(p*(p-a)*(p-b)*(p-c));
}
int main() {
Vertice a, b , c;
cin >> a >> b >> c;
Triangle t(a,b,c);
cout << t.Perimetr() << endl << t.Square() << endl;
}
//язык c++, ООП



Для решения задачи нам нужно знать формулы для нахождения площади и периметра треугольника по координатам его вершин.
Пусть координаты вершин треугольника ABC заданы как (x1, y1), (x2, y2) и (x3, y3).
Периметр треугольника равен сумме длин его сторон, которые могут быть вычислены с помощью расстояния между точками на плоскости:
AB = sqrt((x2 - x1)^2 + (y2 - y1)^2) BC = sqrt((x3 - x2)^2 + (y3 - y2)^2) CA = sqrt((x1 - x3)^2 + (y1 - y3)^2)
Периметр треугольника P = AB + BC + CA.
Площадь треугольника может быть вычислена по формуле Герона:
p = P/2 S = sqrt(p * (p - AB) * (p - BC) * (p - CA))
где p - полупериметр треугольника, который равен половине периметра P.
Используя эти формулы, мы можем найти площадь и периметр треугольника по заданным координатам его вершин.
Пример:
Пусть треугольник задан координатами вершин A(0,0), B(3,0) и C(0,4).
AB = sqrt((3 - 0)^2 + (0 - 0)^2) = 3 BC = sqrt((0 - 3)^2 + (4 - 0)^2) = 5 CA = sqrt((0 - 0)^2 + (0 - 4)^2) = 4
P = AB + BC + CA = 3 + 5 + 4 = 12
p = P/2 = 6 S = sqrt(6 * (6 - 3) * (6 - 5) * (6 - 4)) = 6
Ответ: Площадь треугольника равна 6 квадратных единиц, периметр треугольника равен 12 единицам.


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








Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili