ในปัญหานี้ เราได้รับอาร์เรย์ 2 มิติที่แสดงพิกัดของจุดยอดสามจุดของสามเหลี่ยม งานของเราคือสร้างโปรแกรมเพื่อค้นหา Centroid of the Triangle ใน C++
เซนทรอยด์ ของสามเหลี่ยมคือจุดที่ค่ามัธยฐานทั้งสามของรูปสามเหลี่ยมตัดกัน
ค่ามัธยฐาน ของสามเหลี่ยมคือเส้นที่เชื่อมจุดยอดของสามเหลี่ยมกับจุดศูนย์กลางของเส้นตรงข้ามมัน
มาดูตัวอย่างเพื่อทำความเข้าใจปัญหากัน
อินพุต
(-3, 1), (1.5, 0), (-3, -4)
ผลลัพธ์
(-3.5, -1)
คำอธิบาย
Centroid (x, y) = ((-3+2.5-3)/3, (1 + 0 - 4)/3) = (-3.5, -1)
แนวทางการแก้ปัญหา
ในการแก้ปัญหา เราจะใช้สูตรเรขาคณิตหาจุดศูนย์กลางของสามเหลี่ยม
สำหรับแต้ม (ขวาน, ay), (bx, โดย), (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; }
ผลลัพธ์
Centroid of triangle is (-1.5 , -1)