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

Diện tích của một đa giác với n đỉnh có thứ tự cho trước trong C ++

Trong chương trình này, chúng ta phải tìm diện tích của một đa giác. Tọa độ các đỉnh của đa giác này đã cho. Trước khi chúng ta tiến xa hơn, hãy cùng quét lại các khái niệm cũ để hiểu rõ hơn về khái niệm tiếp theo.

Khu vực là đại diện định lượng về mức độ của bất kỳ hình hai chiều nào.

Đa giác là một hình đóng với một số cạnh cho trước.

Tọa độ của các đỉnh là giá trị của các điểm trong mặt phẳng 2-d. Ví dụ (0,0).

Bây giờ, hãy xem công thức toán học để tìm diện tích.

Công thức

Area = ½ [(x1y2 + x2y3 + …… + x(n-1)yn + xny1) - (x2y1 + x3y2 + ……. + xny(n-1) + x1yn ) ]

Sử dụng công thức này, diện tích có thể được tính toán,

Ví dụ

#include <iostream>
#include <math.h>
using namespace std;
double areaOfPolygon(double x[], double y[], int n){
   double area = 0.0;
   int j = n - 1;
   for (int i = 0; i < n; i++){
      area += (x[j] + x[i]) * (y[j] - y[i]);
      j = i;
   }
   return abs(area / 2.0);
}
int main(){
   double X[] = {0, 1, 4, 8};
   double Y[] = {0, 2, 5, 9};
   int n = sizeof(X)/sizeof(X[0]);
   cout<<"The area is "<<areaOfPolygon(X, Y, n);
}

Đầu ra

The area is 3.5