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

C++で直角三角形の寸法を見つける


この問題では、2つの値HとAが与えられ、直角三角形の斜辺と面積を示します。私たちの仕事は、直角三角形の寸法を見つけることです。 。

直角三角形 は、2つの辺が直角に交差する特殊なタイプの三角形です。

C++で直角三角形の寸法を見つける

図:直角三角形

問題を理解するために例を見てみましょう

Input : H = 7 , A = 8
Output : height = 2.43, base = 6.56

ソリューションアプローチ

この問題の解決策は、値の数式を使用して見つけることができます。そして、ここでそれらを導き出しましょう。

$ A \:=\:1/2 ^ * h ^ * b $

$ H ^ 2 \:=\:h ^ 2 \:+ \:b ^ 2 $

式を使用して、

$(h + b)^ 2 \:=\:h ^ 2 + b ^ 2 + 2 ^ * h ^ * b $

$(h + b)^ 2 \:=\:H ^ 2 + 4 ^ * A $

$(h + b)\:=\:\ sqrt(H ^ 2 + 4 ^ * A)$

同様に式を使用して、

$(h-b)^ 2 \:=\:h ^ 2 + b ^ 2-2 ^ * h ^ * b $

$(h-b)^ 2 \:=\:H ^ 2-4 ^ * A $

$(h-b)^ 2 \:=\:\ sqrt(H ^ 2-4 ^ * A)$

ここでは、2つの方程式があります

両方を追加すると

$ h-b + h-b \:=\:\ sqrt(H ^ 2-4 ^ * A)\:+ \:\ sqrt(H2-4 ^ * A)$

$ 2h \:=\:(\ sqrt(H ^ 2-4 ^ * A))\:+ \:(\ sqrt(H ^ 2-4 ^ * A))$

$ h \:=\:1/2 ^ *(\ sqrt(H ^ 2-4 ^ * A))\:+ \:(\ sqrt(H ^ 2-4 ^ * A))$

両方を引くと、

$ h-b-h + b \:=\:\ sqrt(H ^ 2-4 ^ * A)-\ sqrt(H ^ 2-4 ^ * A)$

$ 2b \:=\:(\ sqrt(H ^ 2-4 ^ * A)\:-\:\ sqrt(H ^ 2-4 ^ * A))$

$ b \:=\:1/2 ^ *(\ sqrt(H ^ 2-4 ^ * A)\:-\:\ sqrt(H ^ 2-4 ^ * A))$

両方の式を適用してbとhの値を取得します。

ソリューションの動作を説明するプログラム

#include <iostream>
#include <math.h>
using namespace std;
void findAllDismensionsRightTriangle(int H, int A) {
   if (H * H < 4 * A) {
      cout<<"Not Possible\n";
      return;
   }
   float val1 = (float)sqrt(H * H + 4 * A);
   float val2 = (float)sqrt(H * H - 4 * A);
   float b = (float)(val1 + val2) / 2.0;
   float p = (float)(val1 - val2) / 2.0;
   cout<<"Perpendicular = "<<p<<endl; 
   cout<<"Base = "<<b;
}
int main() {
   int H = 7;
   int A = 8;
   cout<<"The dimensions of the triangle are : \n"; 
   cout<<"Hypotenuse = "<<H<<endl;
   findAllDismensionsRightTriangle(H, A);
   return 0;
}

出力

The dimensions of the triangle are :
Hypotenuse = 7
Perpendicular = 2.43845
Base = 6.56155

  1. C++で線の中点を見つけるプログラム

    この問題では、線の始点と終点の2つの点AとBが与えられます。私たちの仕事は、C++で線の中点を見つけるプログラムを作成することです。 問題の説明 −ここでは、開始点と終了点がA(x1、y1)とB(x2、y2)の線があります。そして、線の中点を見つける必要があります。 問題を理解するために例を見てみましょう 入力 a(x1, y1) = (4, -5) b(x2, y2) = (-2, 6) 出力 (1, 0.5) 説明 (x1 + x2)/2 = 4 - 2 / 2 = 1 (y1 + y2)/2 = -5 + 6 / 2 = 0.5 ソリューションアプローチ この問題を解決する

  2. C++で三角形の図心を見つけるプログラム

    この問題では、三角形の3つの頂点の座標を示す2D配列が与えられます。私たちのタスクは、C++で三角形のセントロイドを見つけるプログラムを作成することです。 セントロイド 三角形の3つの中央値は、三角形の3つの中央値が交差する点です。 中央値 三角形の頂点は、三角形の頂点とその反対側の線の中心点を結ぶ線です。 問題を理解するために例を見てみましょう 入力 (-3, 1), (1.5, 0), (-3, -4) 出力 (-3.5, -1) 説明 Centroid (x, y) = ((-3+2.5-3)/3, (1 + 0 - 4)/3) = (-3.5, -1) ソリューションアプロ