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

【C言語】対角線の長さから六角形の面積を求める方法

六角形の面積とは

六角形(ヘキサゴン)とは、6つの辺で構成される閉じた図形です。その中でも、6つの辺の長さとすべての内角が等しいものを「正六角形」と呼びます。本記事では、対角線の長さ d のみが与えられた場合に、Cプログラムを使って六角形の面積を求める方法を解説します。

正六角形の内角はそれぞれ120度であり、すべての内角の合計は720度になります。

面積を求める公式

一辺の長さを a とすると、正六角形の面積は次の公式で表されます。

Area = (3a2 √3) / 2

正六角形では、最も長い対角線 d は一辺の2倍に相当するため、次の関係が成り立ちます。

d = 2a つまり a = d/2

この a = d/2 を面積の公式に代入すると、対角線 d のみで表した面積の式が得られます。

Area = (3√3 d2) / 8

C言語での実装例

#include <stdio.h>
#include <math.h>

int main() {
    float d = 10;
    float area = (3 * sqrt(3) * pow(d, 2)) / 8;
    printf("Area of hexagon = %f", area);
    return 0;
}

コードの解説

変数 d に対角線の長さとして10を代入し、数式「(3 × √3 × d²) ÷ 8」をそのままコードに反映しています。sqrt関数で平方根を、pow関数でべき乗を計算するため、math.h ヘッダーのインクルードが必要です。

実行結果

Area of hexagon = 64.951904

対角線の長さが10の正六角形の場合、面積は約64.95と計算されました。このように、対角線の長さだけがわかっている場合でも、簡単な数式の変換によって正六角形の面積を求めることができます。

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

    この記事では、指定された辺の長さを持つn辺の正多角形の面積を求める問題を取り上げ、図形の面積を計算する公式を導出し、それに基づいたプログラムを作成します。まず、内容を理解しやすくするために、基本事項をおさらいしましょう。基本事項のおさらいn辺の正多角形とは、すべての辺の長さが等しいn個の辺を持つ多角形のことです。例えば、正五角形や正六角形などが挙げられます。面積とは、二次元の図形が占める広がりの大きさを数量的に表したものです。面積公式の導出正多角形の面積を求めるには、図形を構成する個々の三角形の面積を求め、それに辺の数nを掛けます。正多角形は、中心を共有する頂点としてn個の二等辺三角形に分割で

  2. Pythonで指定されたインデックスに基づいて文字列をシャッフルする方法

    文字列 s とインデックスのリスト ind が与えられ、両者は同じ長さであるとします。文字列 s は、位置 i にある文字が最終的な文字列内の ind[i] の位置へ移動するようにシャッフルされます。このとき、シャッフル後の最終的な文字列を求める必要があります。例えば、入力が s = ktoalak、ind = [0,5,1,6,2,4,3] の場合、出力は kolkata となります。解決手順この問題を解くには、以下の手順に従います。fin_str を s と同じサイズのリストとして作成し、0で初期化するs 内の各インデックス i と各文字 v に対して、次の操作を行うfin_str[ind