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

与えられた3辺から三角形の外接円の面積を求めるC++プログラム

任意の三角形の外接円の面積を求めるには、まずこの問題に関連する基本的な概念を押さえておく必要があります。

基本となる概念

三角形 … 3つの辺を持つ閉じた図形です。
… 辺を持たない(あるいは無数の辺を持つとみなせる)閉じた図形です。

他の図形を内側にすっぽりと包み込むように描かれた円を外接円と呼びます。三角形の場合、外接円は3つの頂点すべてを通る円になります。

外接円の半径を求める公式

三角形の3辺の長さをそれぞれ a、b、c とすると、外接円の半径 r は次の数学公式で求められます。

r = abc / √((a+b+c)(a+b−c)(a+c−b)(b+c−a))

この式は、ヘロンの公式で求めた三角形の面積 S を使った「r = abc / 4S」という形に書き換えることもできます。

外接円の面積を求める

半径 r が分かれば、円の面積は次の式で計算できます。

area = π × r × r

具体的な例で確認してみましょう。三角形の3辺が a = 4、b = 5、c = 3 の場合、半周長は p = 6、ヘロンの公式による三角形の面積は S = 6 となります。したがって、外接円の半径は r = 60 ÷ 24 = 2.5 となり、外接円の面積は約 19.63 です。

C++での実装例

#include <iostream>
#include <math.h>
using namespace std;

int main() {
    float a = 7, b = 9, c = 13;

    // 辺の値が不正な場合は三角形として扱わない
    if (a <= 0 || b <= 0 || c <= 0) {
        cout << "三角形として成立しません";
        return 0;
    }

    // 半周長を求める
    float p = (a + b + c) / 2;

    // 外接円の半径を計算(r = abc / 4S)
    float r = (a * b * c) / (4 * sqrt(p * (p - a) * (p - b) * (p - c)));

    // 外接円の面積を求める
    float area = 3.14 * pow(r, 2);

    cout << "外接円の面積は " << area;
    return 0;
}

実行結果

外接円の面積は 146.72

コードの解説

このプログラムでは、まず3辺の値から半周長 p を求め、ヘロンの公式で三角形の面積を計算しています。その結果をもとに「r = abc ÷ 4S」から外接円の半径を算出し、最後に「π × r²」によって外接円の面積を求めています。また、辺の値に0以下の数が含まれる場合は三角形が成立しないため、その旨を出力して処理を終了するようになっています。

  1. 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 =

  2. C++で楕円の面積を求めるプログラムの作成方法

    この記事では、C++を使って楕円(だえん)の面積を求める方法を解説します。楕円にはいくつかの重要な構成要素があり、それぞれの意味を理解しておくと計算の仕組みがより明確になります。楕円の主な構成要素要素説明中心楕円の中心点。2つの焦点を結ぶ線分の中点でもあります。長軸楕円における最も長い直径です。短軸楕円における最も短い直径です。弦楕円上の2点を結ぶ線分のことです。焦点楕円を定義する2つの特別な点。図中に示された2点が該当します。通径焦点を通り、長軸に対して垂直な直線(線分)のことです。楕円の面積の公式楕円の面積は、長半径 a と短半径 b を使って次の式で表されます。面積 = π × a ×