Cho mảng 2D chứa tọa độ 3 đỉnh của tam giác. Viết chương trình C++ tìm trọng tâm (centroid) của tam giác.
Trọng tâm là giao điểm của ba đường trung tuyến. Đường trung tuyến nối đỉnh với trung điểm cạnh đối diện.
Ví dụ
Đầu vào
(-3, 1), (1.5, 0), (-3, -4)
Đầu ra
(-1.5, -1)
Giải thích
Centroid (x, y) = ((-3 + 1.5 - 3)/3, (1 + 0 - 4)/3) = (-1.5, -1)
Công thức
Với 3 đỉnh (ax, ay), (bx, by), (cx, cy):
x = (ax + bx + cx) / 3 y = (ay + by + cy) / 3
Chương trình C++
#include <iostream>
using namespace std;
int main() {
float tri[3][2] = {{-3, 1}, {1.5, 0}, {-3, -4}};
cout << "Centroid of triangle is (";
cout << ((tri[0][0] + tri[1][0] + tri[2][0]) / 3) << " , ";
cout << ((tri[0][1] + tri[1][1] + tri[2][1]) / 3) << ")";
return 0;
}
Kết quả
Centroid of triangle is (-1.5 , -1)