Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++에서 주어진 변의 길이를 갖는 n변 정다각형의 면적

<시간/>

주어진 면을 갖는 n변 정다각형의 면적을 찾는 이 문제에서 우리는 도형의 면적에 대한 공식을 도출하고 이를 기반으로 프로그램을 작성할 것입니다. 하지만 그 전에 주제를 쉽게 이해할 수 있도록 기본 사항을 수정하겠습니다.

N면 정다각형 모든 변이 동일한 n변의 다각형입니다. 예를 들어 정오각형, 정육각형 등

지역 2차원 도형의 범위를 정량적으로 표현한 것입니다.

이 그림의 넓이를 구하려면 그림에서 개별 삼각형의 넓이를 구하고 그 넓이에 변의 수를 곱해야 합니다. n 면이 주어졌기 때문입니다.

C++에서 주어진 변의 길이를 갖는 n변 정다각형의 면적

이제 위의 그림에서 면적에 대한 공식을 만들 수 있습니다.

정다각형의 각 변은 변 a(다각형의 변)와 각이 180 / n인 삼각형 하나를 만들 수 있습니다. (n은 다각형의 변의 수입니다). 따라서 면적은 다음 공식을 사용하여 찾을 수 있습니다.

삼각형의 넓이 =½ * b * h

이제 h =a * tan(180/n)

So , area = ½ * a * a / 2 * tan(180/n)
= a * a / (4 * tan(180/n))

다각형의 개별 삼각형에 대해 이 공식을 사용하여 전체 다각형의 면적을 생성할 수 있습니다.

n변 정다각형의 넓이 =n * (a * a / (4 * tan(180 /n)))

알고리즘

Step 1 : calculate the value of angle using (180 / n)
Step 2 : Calculate the area of regular polygon using n * (a * a / (4 * tan(180 /n))) .
Step 3 : Print the area of polygon.

예시

#include<iostream>
#include<math.h>
using namespace std;
int main(){
   float a = 12, n = 9;
   float area=(a * a * n) / (4 * tan((180 / n) * 3.14159 / 180));
   cout<<"The area of "<<n<<" sided regular polygon of side "<<a<<" is "<<area;
   return 0;
}

출력

The area of 9 sided regular polygon of side 12 is 890.183