Cod sursa(job #2332693)

Utilizator AxellApostolescu Alexandru Axell Data 31 ianuarie 2019 00:34:35
Problema Aria Scor 0
Compilator c-64 Status done
Runda Arhiva educationala Marime 0.83 kb
#include <stdio.h>
#include <stdlib.h>

int area(int x1, int y1, int x2, int y2) {
	int result = x1 * y2 - x2 * y1;
	result /= 2;
	return result;
}

int main() {
	FILE *in, *out;
	if (((in = fopen("aria.in", "rt")) == NULL)) {
		printf("Nu am putut deschide fisierul de input!");
		return -1;
	}
	if (((out = fopen("aria.out", "wt")) == NULL)) {
		printf("Nu am putut deschide fisierul de output!");
		return -2;
	}
	int n, x1 = 0, x2, y1 = 0, y2;
	int first_x, first_y, check = 0;
	int arie = 0;
	fscanf(in, "%d", &n);
	for (int i = 0 ; i < n ; ++i) {
		fscanf(in, "%d %d", &x2, &y2);
		if (check == 0) {
			first_x = x2;
			first_y = y2;
			check = 1;
		}
		arie += area(x1, y1, x2, y2);
		x1 = x2;
		y1 = y2;
	}
	arie += area(x2, y2, first_x, first_y);
	fprintf(out, "%d\n", arie);


	// Freeing the memory
	fclose(in);
	fclose(out);
	return 0;
}