struct ThreeRealNums
{
double n1;
double n2;
double n3;
};
ThreeRealNums TriangleMedian(int A, int B, int C)
{
// Median formula: m_a = (1/2)*sqrt(2*b^2 + 2*c^2 - a^2)
// where m_a is median from vertex A to the midpoint of side a
ThreeRealNums result;
// Median from A to midpoint of side a (opposite to A)
double m_a = (1.0/2.0) * sqrt(2.0*B*B + 2.0*C*C - A*A);
result.n1 = m_a;
// Median from B to midpoint of side b (opposite to B)
double m_b = (1.0/2.0) * sqrt(2.0*A*A + 2.0*C*C - B*B);
result.n2 = m_b;
// Median from C to midpoint of side c (opposite to C)
double m_c = (1.0/2.0) * sqrt(2.0*A*A + 2.0*B*B - C*C);
result.n3 = m_c;
return result;
}
|