Cod sursa(job #3317810)

Utilizator mihaidbm2Tita Mihai mihaidbm2 Data 25 octombrie 2025 13:46:29
Problema Aria Scor 100
Compilator c-64 Status done
Runda Arhiva educationala Marime 0.76 kb
#include <math.h>
#include <stdio.h>

typedef struct point2d {
	long double x, y;
} p2d;

long double triangle_surface(p2d p1, p2d p2, p2d p3)
{
	long double surface = p1.x * p2.y + p2.x * p3.y + p1.y * p3.x - p3.x * p2.y -
			 p1.x * p3.y - p2.x * p1.y;

	return surface / 2;
}

int main(void)
{
	freopen("aria.in", "r", stdin);
	int n;
	scanf("%d ", &n);

	p2d p1, p2, p3;

	long double surface = 0;

	scanf("%Lf%Lf%Lf%Lf%Lf%Lf", &p1.x, &p1.y, &p2.x, &p2.y, &p3.x, &p3.y);
	n -= 3;

	surface += triangle_surface(p1, p2, p3);

	while (n-- > 0) {
		p2.x = p3.x;
		p2.y = p3.y;
		scanf("%Lf%Lf", &p3.x, &p3.y);
		surface += triangle_surface(p1, p2, p3);
	}
freopen("aria.out", "w", stdout);

	printf("%Lf\n", surface);

	return 0;
}