ภาพรวมปัญหา
ในปัญหานี้ เราได้รับอาร์เรย์ 2 มิติที่เก็บพิกัดของจุดยอดสามจุดของสามเหลี่ยม งานของเราคือการสร้างโปรแกรมหาจุดศูนย์กลาง (Centroid) ของสามเหลี่ยมใน C++
ความรู้พื้นฐาน
จุดศูนย์กลาง (Centroid) ของสามเหลี่ยม คือ จุดที่เส้นมัธยาน (Median) สามเส้นของสามเหลี่ยมตัดกัน
เส้นมัธยาน (Median) คือ เส้นตรงที่เชื่อมจุดยอดของสามเหลี่ยมกับจุดกึ่งกลางของด้านตรงข้าม

ตัวอย่าง
Input
(-3, 1), (1.5, 0), (-3, -4)
Output
(-1.5, -1)
คำอธิบาย
Centroid (x, y) = ((-3 + 1.5 + -3)/3, (1 + 0 + -4)/3) = (-1.5, -1)
แนวทางแก้ปัญหา
ใช้สูตรเรขาคณิตสำหรับหาจุดศูนย์กลางของสามเหลี่ยม:
สำหรับจุด (ax, ay), (bx, by), (cx, cy)
Centroid x = (ax + bx + cx) / 3 y = (ay + by + cy) / 3
ตัวอย่างโปรแกรม
#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;
}
Output
Centroid of triangle is (-1.5 , -1)