Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Diện tích lớn nhất của tứ giác cho trước bốn cạnh trong C++

Đề bài

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

Công thức Brahmagupta

Diện tích lớn nhất đạt được khi tứ giác nội tiếp. Công thức:

S = sqrt((s-a)(s-b)(s-c)(s-d))
với s = (a+b+c+d)/2 (nửa chu vi)

Ví dụ minh họa (C++)

#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 << "Dien tich lon nhat = " << getMaxArea(a, b, c, d) << endl;
    return 0;
}

Kết quả

Dien tich lon nhat = 3.05