Click Here to go back to the homepage.

Convex Polygon Area Solution:


#include <bits/stdc++.h>
using namespace std;

int main(){
    // #ifndef TESTING
    // freopen("input.txt", "r", stdin);
    // freopen("output.txt", "w", stdout);
    // #endif

    int polygons;
    cin >> polygons;
    while(polygons--){
        int vertices;
        cin >> vertices;
        int currx, curry, originalx, originaly, sum = 0;
        cin >> currx >> curry;
        originalx = currx;
        originaly = curry;
        while(--vertices){
            int tempx, tempy;
            cin >> tempx >> tempy;
            sum += currx * tempy - curry * tempx;
            currx = tempx;
            curry = tempy;
        }
        sum += currx * originaly - curry * originalx;
        cout << abs(sum / 2.0) << endl;
    }

    return 0;   
}