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

C++で正七角形の対角線の長さを求める方法

正七角形(すべての辺と角度が等しい7つの辺を持つ多角形)の対角線の長さは、次の公式を使って求めることができます。

対角線 = 2 × 辺 × sin(900° ÷ 14)

ここで、sin(900° ÷ 14) = sin(64.29°) の値はおよそ 0.9 となるため、この式は「2 × 辺 × 0.9」と簡略化できます。つまり、正七角形の対角線の長さは、辺の長さの約1.8倍になるということです。

それでは、辺の長さから正七角形の対角線を求めるC++の実装例を見てみましょう。

#include <iostream>
using namespace std;
int main(){
    float side = 12;
    if (side < 0)
        return -1;
    float diagonal = 2*side*0.9;
    cout << "The diagonal of the heptagon = " << diagonal << endl;
    return 0;
}

出力

上記のコードを実行すると、次のような出力が得られます。

The diagonal of the heptagon = 21.6

このコードでは、まず負の値が入力されていないかをチェックし、問題がなければ「2 × 辺 × 0.9」という式で対角線を計算しています。辺の長さが12の場合、対角線は 2 × 12 × 0.9 = 21.6 となります。

  1. C++で行列の上三角と下三角を入れ替える方法

    このチュートリアルでは、C++のコードを使って3×3の正方行列(対角配列)の上三角部分を下三角部分と入れ替える方法を解説します。この操作は、いわゆる「行列の転置」と同じ処理であり、対角配列を入力として与えたとき、期待される結果は以下のようになります。具体的な手順は、以下のアルゴリズムにまとめられます。アルゴリズムステップ1:対角配列を入力する ステップ2:Swap()メソッドに渡す ステップ3:外側のループを3回まで繰り返す ステップ4:内側のループで j = i + 1 から3まで増加させる ステップ5:配列の値を一時変数tempに退避させる ステップ6:arr[i][j] = arr[j]

  2. C++で対角行列・スカラー行列を判定するプログラムの書き方

    行列 M[r][c] が与えられたとき、「r」は行数、「c」は列数を表し、r = c のとき正方行列となります。本記事では、与えられた正方行列が対角行列であるか、スカラー行列であるかを判定し、該当する場合には「yes」を出力する方法を解説します。 対角行列とは 正方行列 m[][] が対角行列であるのは、主対角線以外の要素がすべてゼロである場合、かつその場合に限ります。 下図のように、赤色で示された要素が主対角成分(非ゼロ)であり、それ以外の要素はすべてゼロになっているため、この行列は対角行列です。 入出力例 Input: m[3][3] = { {7, 0, 0}, {0, 8, 0}