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

C++で三角形の内接円の半径を求めるプログラム

はじめに

このチュートリアルでは、与えられた三角形の内接円(インサークル)の半径を求めるC++プログラムについて解説します。

具体的には、三角形の3辺の長さが入力として与えられ、その三角形に内接する円の半径を計算することが課題となります。

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

内接円の半径 r は、次の公式で求めることができます。

内接円の半径 = 三角形の面積 ÷ 三角形の半周長

ここで、三角形の面積は3辺の長さから求められるヘロンの公式を利用します。半周長を p = (a + b + c) / 2 とすると、面積 S は S = √(p × (p − a) × (p − b) × (p − c)) で表されます。

プログラム例

#include <bits/stdc++.h>
using namespace std;
// 内接円の半径を計算する関数
float calc_radius(float a, float b, float c) {
    if (a < 0 || b < 0 || c < 0)
        return -1;
    // 三角形の半周長
    float p = (a + b + c) / 2;
    // ヘロンの公式による三角形の面積
    float area = sqrt(p * (p - a) * (p - b) * (p - c));
    // 内接円の半径 = 面積 ÷ 半周長
    float radius = area / p;
    return radius;
}
int main() {
    float a = 4, b = 7, c = 9;
    cout << calc_radius(a, b, c) << endl;
    return 0;
}

実行結果

1.34164

コードの解説

このプログラムでは、以下の手順で内接円の半径を計算しています。

1. 入力された辺の長さが負の値でないかをチェックし、負の場合は -1 を返して不正な入力を処理します。
2. 半周長 p を (a + b + c) / 2 として計算します。
3. ヘロンの公式を使って三角形の面積を求めます。
4. 面積を半周長で割ることで、内接円の半径を導きます。

例として、辺の長さが 4、7、9 の三角形の場合、内接円の半径は 1.34164 となります。この方法を使えば、任意の三角形に対して効率的に内接円の半径を求めることができます。

  1. C++で三角形の重心を求めるプログラムの作成方法

    この記事では、三角形の3つの頂点の座標を格納した2次元配列が与えられたときに、その三角形の重心を求めるC++プログラムの作成方法を解説します。 三角形の重心とは、三角形の3本の中線がすべて交わる点のことです。 また、三角形の中線とは、ある頂点と、その対辺(向かい合う辺)の中点を結ぶ線分のことを指します。 それでは、具体的な例を使って問題を確認してみましょう。 入力 (-3, 1), (1.5, 0), (-3, -4) 出力 (-1.5, -1) 説明 重心 (x, y) = ((-3 + 1.5 - 3) / 3, (1 + 0 - 4) / 3) = (-1.5, -1) 解法のアプロ

  2. C++で平行四辺形の面積を求めるプログラムの作成方法

    この記事では、平行四辺形の底辺と高さを表す2つの値が与えられたとき、C++を使ってその面積を求めるプログラムを作成する方法を解説します。 平行四辺形とは? 平行四辺形とは、4つの辺からなる閉じた図形であり、向かい合う2組の辺がそれぞれ長さが等しく、互いに平行になっている四角形のことです。 問題を理解するための具体例 入力 B = 20, H = 15 出力 300 説明 平行四辺形の面積 = 底辺 × 高さ = 20 × 15 = 300 解決アプローチ この問題を解くには、平行四辺形の面積を求める幾何学の公式を使用します。 面積 = 底辺 × 高さ つまり、与えられた底辺と高さを掛け合わせ