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

C++で二等辺三角形の高さと面積を求める方法

二等辺三角形とは、3つの辺のうち2辺の長さが等しい三角形のことです。この記事では、等しい2辺の長さ a と底辺の長さ b が分かっているときに、その三角形の高さ(垂線の長さ)面積をC++で求める方法を解説します。

例として、3辺の長さが「2、2、3」の二等辺三角形を考えてみましょう。この場合、高さは約1.32、面積は約1.98になります。

高さと面積を求める公式

二等辺三角形では、頂点から底辺に下ろした垂線が底辺の中点を通るため、三平方の定理(ピタゴラスの定理)を使って高さを簡単に求められます。

高さ h の公式

h = √( a2 − ( b / 2 )2 )

面積 A の公式

A = ( 1 / 2 ) × b × h

つまり、まず高さを計算し、それを「底辺 × 高さ ÷ 2」の式に代入することで面積が求まります。

C++での実装例

以下のコードでは、sqrt()pow() を使うために <cmath> ヘッダーを読み込んでいます。getAltitude() 関数で高さを、getArea() 関数で面積をそれぞれ計算します。

#include<iostream>
#include<cmath>
using namespace std;

// 高さを求める関数
float getAltitude(float a, float b) {
    return sqrt(pow(a, 2) - (pow(b, 2) / 4));
}

// 面積を求める関数
float getArea(float b, float h) {
    return (1 * b * h) / 2;
}

int main() {
    float a = 2, b = 3;
    cout << "Altitude: " << getAltitude(a, b)
         << ", Area: " << getArea(b, getAltitude(a, b));
}

実行結果

Altitude: 1.32288, Area: 1.98431

解説

  • getAltitude(a, b): 三平方の定理より、高さは √(a² − (b/2)²) で求められます。コード内では pow(b, 2) / 4 として (b/2)² を計算しています。
  • getArea(b, h): 三角形の面積の基本公式「底辺 × 高さ ÷ 2」をそのまま実装したものです。
  • main関数: 等しい辺 a = 2、底辺 b = 3 を設定し、高さを先に計算してから面積の計算に渡しています。

このように、二等辺三角形の性質を利用すれば、わずかなコードで高さと面積を効率的に計算できます。辺の長さをユーザー入力から受け取るように変更すれば、より汎用的なプログラムに拡張することも可能です。

  1. C++で正六角形に内接する最大の三角形の面積を求める方法

    本記事では、正六角形に内接する最大の三角形の面積を求める方法を解説します。正六角形の一辺の長さを「a」、その内側に描ける最大の三角形の一辺の長さを「b」とします。図から分かるように、六角形の一辺を利用して三角形を作ると、その一辺は2つの部分に分けられます。このとき、2つの直角三角形が現れます。三平方の定理(ピタゴラスの定理)を用いると、次の関係が成り立ちます。つまり、正六角形に内接する最大の三角形は正三角形となり、その一辺 b は b = √3 × a で表されます。この関係を正三角形の面積の公式に代入すると、最大の三角形の面積は次の式で求められます。面積 = (√3 ÷ 4) × b2 =

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

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