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

C 프로그램으로 직사각형 안에 내접하는 가장 큰 삼각형의 넓이 구하기

하나의 직사각형이 주어졌다고 가정해 봅시다. 이 직사각형의 가로 길이 L과 세로 길이 B를 알고 있을 때, 그 직사각형 안에 내접할 수 있는 가장 큰 삼각형의 넓이를 구하는 방법을 알아보겠습니다.

핵심 아이디어

직사각형 안에 그릴 수 있는 가장 큰 삼각형은 항상 직사각형 넓이의 정확히 절반이 됩니다. 삼각형의 밑변을 직사각형의 한 변 전체 길이로 하고, 꼭짓점을 반대편 변 위에 두면 높이가 나머지 한 변의 길이와 같아지기 때문입니다.

따라서 최대 삼각형의 넓이는 다음 공식으로 구할 수 있습니다.

넓이 = (L × B) / 2

C++ 코드 예제

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

float area(float l, float b) {
    if (l < 0 || b < 0) // 값이 음수이면 유효하지 않음
        return -1;
    float area = (l * b) / 2;
    return area;
}

int main() {
    float a = 10, b = 8;
    cout << "Area : " << area(a, b);
}

실행 결과

Area : 40

코드 설명

area() 함수는 먼저 입력값이 음수인지 검사합니다. 길이는 음수가 될 수 없으므로, 음수가 입력되면 -1을 반환하여 유효하지 않은 입력임을 알립니다.

유효한 값이라면 공식 (l × b) / 2를 적용해 삼각형의 넓이를 계산합니다. 예제에서는 가로 10, 세로 8인 직사각형을 사용했으며, 계산 결과 (10 × 8) / 2 = 40이 출력됩니다.