Computer >> 컴퓨터 >  >> 프로그래밍 >> C++

C++로 이등변 삼각형의 높이와 넓이 구하기

이등변 삼각형은 두 변의 길이가 같은 삼각형입니다. 이번 글에서는 이등변 삼각형의 세 변 정보가 주어졌을 때, C++ 코드를 사용해 높이(고도)넓이를 계산하는 방법을 알아보겠습니다.

예를 들어, 삼각형의 세 변이 각각 2, 2, 3이라고 가정해 보겠습니다. 이 경우 높이는 약 1.32, 넓이는 약 1.98이 됩니다.

계산 공식

이등변 삼각형의 높이(h)는 다음 공식으로 구할 수 있습니다.

높이(h) = √(a² − b²/4)

여기서 a는 같은 길이를 가진 두 변 중 하나의 길이, b는 밑변의 길이입니다. 높이를 구한 후에는 일반적인 삼각형 넓이 공식을 적용합니다.

넓이(A) = (1/2) × b × h

C++ 구현 예제

#include<iostream>
#include<cmath>
using namespace std;

float getAltitude(float a, float b) {
    return sqrt(pow(a, 2) - (pow(b, 2) / 4));
}

float getArea(float b, float h) {
    return (1 * b * h) / 2;
}

int main() {
    float a = 2, b = 3;
    cout << "Altitude: " << getAltitude(a, b)
         << ", Area: " << getArea(b, getAltitude(a, b));
}

실행 결과

Altitude: 1.32288, Area: 1.98431

코드 설명

getAltitude() 함수는 피타고라스 정리를 활용해 높이를 계산합니다. 이등변 삼각형의 꼭짓점에서 밑변에 수선을 내리면 밑변이 정확히 절반으로 나뉘므로, 직각삼각형의 빗변(a)과 한 변(b/2)을 이용해 나머지 변인 높이를 구할 수 있습니다.

getArea() 함수는 구해진 높이와 밑변을 곱한 뒤 2로 나누어 넓이를 반환합니다. main() 함수에서는 두 함수를 호출하여 결과를 출력하며, 높이 계산 결과를 넓이 계산에 재활용하는 점이 효율적입니다.