Повернутися

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;
}