Computer >> Máy Tính >  >> Lập trình >> C ++

Tìm kích thước của tam giác vuông trong C ++

Trong bài toán này, chúng ta nhận được hai giá trị H và A, biểu thị cạnh huyền và diện tích của một tam giác vuông. Nhiệm vụ của chúng ta là tìm kích thước của tam giác vuông .

Tam giác góc phải là một loại tam giác đặc biệt trong đó hai cạnh bên vuông góc với nhau.

Tìm kích thước của tam giác vuông trong C ++

Hình:Tam giác góc phải

Hãy lấy một ví dụ để hiểu vấn đề,

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

Phương pháp tiếp cận giải pháp

Giải pháp cho vấn đề này có thể được tìm thấy bằng cách sử dụng công thức toán học cho các giá trị. Và hãy lấy chúng ở đây,

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

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

Sử dụng công thức,

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

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

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

Tương tự khi sử dụng công thức,

$ (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) $

Ở đây, chúng ta có hai phương trình,

Khi thêm cả hai, chúng tôi có

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

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

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

Khi trừ cả hai, chúng tôi nhận được,

$ 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)) $

Áp dụng cả hai công thức để nhận giá trị của b và h.

Ví dụ

Chương trình minh họa hoạt động của giải pháp của chúng tôi

#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;
}

Đầu ra

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