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

Diện tích tối đa của tứ giác trong C ++

Tuyên bố vấn đề

Cho bốn cạnh của tứ giác a, b, c, d, tìm diện tích hình tứ giác lớn nhất có thể có trong các cạnh đã cho.

Thuật toán

Chúng ta có thể sử dụng công thức của Brahmagupta dưới đây để giải quyết vấn đề này -

√ (s-a) (s-b) (s-c) (s-d)

Trong công thức trên, s là nửa chu vi. Nó được tính như sau -

S =(a + b + c + d) / 2

Ví dụ

Bây giờ chúng ta hãy xem một ví dụ -

#include <bits/stdc++.h>
using namespace std;
double getMaxArea(double a, double b, double c, double d) {
   double s = (a + b + c + d) / 2;
   double area = (s - a) * (s - b) * (s - c) * (s - d);
   return sqrt(area);
}
int main() {
   double a = 1, b = 2.5, c = 1.8, d = 2;
   cout << "Maximum area = " << getMaxArea(a, b, c, d) << endl;
   return 0;
}

Đầu ra

Maximum area = 3.05