Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

พื้นที่สูงสุดของ Quadrilateral ใน C++


โจทย์

ได้รับด้านสี่ด้านของ Quadrilateral คือ a, b, c, d หาพื้นที่สูงสุดของ Quadrilateral ที่เป็นไปได้จากด้านที่กำหนด

อัลกอริทึม

ใช้สูตร Brahmagupta เพื่อแก้ปัญหานี้

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

ในสูตรข้างต้น s คือ Semi-perimeter คำนวณได้จาก

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

ตัวอย่างโค้ด

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

ผลลัพธ์

Maximum area = 3.05