C++
 Computer >> コンピューター >  >> プログラミング >> C++

C++で指定された辺の長さを持つn辺の正多角形の面積を求める方法

この記事では、指定された辺の長さを持つn辺の正多角形の面積を求める問題を取り上げ、図形の面積を計算する公式を導出し、それに基づいたプログラムを作成します。まず、内容を理解しやすくするために、基本事項をおさらいしましょう。

基本事項のおさらい

n辺の正多角形とは、すべての辺の長さが等しいn個の辺を持つ多角形のことです。例えば、正五角形や正六角形などが挙げられます。

面積とは、二次元の図形が占める広がりの大きさを数量的に表したものです。

面積公式の導出

正多角形の面積を求めるには、図形を構成する個々の三角形の面積を求め、それに辺の数nを掛けます。正多角形は、中心を共有する頂点としてn個の二等辺三角形に分割できるためです。

正多角形の各辺は、底辺a(多角形の辺の長さ)と中心角360/n(その半分が180/n、nは多角形の辺の数)を持つ1つの三角形を構成します。したがって、面積は次の公式で求められます。

三角形の面積 = ½ × 底辺 × 高さ

ここで、高さhは次のように表せます。

h = a / (2 × tan(180/n))

よって、1つの三角形の面積は次のとおりです。

面積 = ½ × a × a / (2 × tan(180/n))
= a × a / (4 × tan(180/n))

この公式を正多角形を構成する各三角形に適用することで、多角形全体の面積を求めることができます。

n辺の正多角形の面積 = n × (a × a / (4 × tan(180/n)))

アルゴリズム

ステップ1:(180 / n) で角度の値を計算する
ステップ2:n × (a × a / (4 × tan(180/n))) で正多角形の面積を計算する
ステップ3:多角形の面積を出力する

実装例

以下は、C++による実装例です。tan関数はラジアンを引数として受け取るため、角度を度からラジアンへ変換(× 3.14159 / 180)している点に注意してください。

#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

このプログラムでは、辺の長さ12、辺の数9の正九角形の面積を計算しており、実行結果は約890.183となります。

  1. C++で正方形の面積を求めるプログラムの書き方

    本記事では、正方形の一辺が与えられたときに、その一辺をもとに正方形の面積を計算して出力するC++プログラムを紹介します。 正方形とは 正方形とは、4つの辺と4つの角(すべて90度)を持つ2次元の平面図形であり、すべての辺の長さが等しいという特徴があります。言い換えれば、正方形とは「すべての辺の長さが等しい長方形」の一種であるとも言えます。 正方形のイメージは以下の通りです。 正方形の面積 = 一辺 × 一辺 入力例と出力例 入力:6 出力:36 一辺が6なので、出力は 6×6=36 となります。 入力:12 出力:144 アルゴリズム 処理の流れは以下のようになります。 関数 int m

  2. C++で3辺の長さが与えられた三角形の外接円の面積を求める方法

    C++で三角形の外接円の面積を計算する 本記事では、3辺の長さが分かっている三角形について、その外接円(3つの頂点すべてを通る円)の面積をC++で求める方法を解説します。 下図のように、辺ABの長さをa、辺BCの長さをb、辺CAの長さをc、外接円の半径をrとします。 外接円の半径を求める公式 外接円の半径rは、3辺の長さと三角形の面積Sを用いて、次の式で表されます。 具体的な手順は以下の通りです。 まず、半周長 s = (a + b + c) / 2 を求めます。 ヘロンの公式より、三角形の面積は S = √(s(s − a)(s − b)(s − c)) で計算できます。 半径 r =