Cod sursa(job #1484151)

Utilizator mike93Indricean Mihai mike93 Data 10 septembrie 2015 15:31:06
Problema Aria Scor 70
Compilator c Status done
Runda Arhiva educationala Marime 0.72 kb
#include <stdio.h>
#include <stdlib.h>
#include <math.h>

double aria(double x1, double y1, double x2, double y2) {
	double res = (x1 * y2 - x2 * y1);
	return res;
}

int main() {
	FILE* fin = fopen("aria.in", "r");
	int n;
	fscanf(fin, "%d\n", &n);
	double* x = malloc((n + 1) * sizeof(double));
	double* y = malloc((n + 1) * sizeof(double));
	int i;
	for(i=0; i<n; i++) {
		fscanf(fin, "%lf %lf\n", &x[i], &y[i]);
	}
	fclose(fin);
	
	x[n] = x[0];
	y[n] = y[0];
	double res = 0.0;
	for(i=0; i<n; i++) {
		res = res + x[i] * y[i + 1] - x[i + 1] * y[i];
	}
	res = fabs(res / 2.0);
	
	FILE* fout = fopen("aria.out", "w");
	fprintf(fout, "%lf\n", res);
	
	free(x);
	free(y);
	fclose(fout);
	return 0;
}