Pagini recente » Cod sursa (job #2811825) | Cod sursa (job #846736) | Cod sursa (job #986396) | Cod sursa (job #2243615) | Cod sursa (job #1484122)
#include <stdio.h>
#include <stdlib.h>
long double aria(long double x1, long double y1, long double x2, long double y2) {
long double res = 0.5 * (x1 * y2 - x2 * y1);
return res;
}
int main() {
FILE* fin = fopen("aria.in", "r");
int n;
fscanf(fin, "%d\n", &n);
long double* x = malloc(n * sizeof(double));
long double* y = malloc(n * sizeof(double));
int i;
for(i=0; i<n; i++) {
fscanf(fin, "%llf %llf\n", &x[i], &y[i]);
}
fclose(fin);
long double res = 0.0;
for(i=0; i<n-1; i++) {
res = res + aria(x[i], y[i], x[i + 1], y[i + 1]);
}
res = res + aria(x[n - 1], y[n - 1], x[0], y[0]);
FILE* fout = fopen("aria.out", "w");
fprintf(fout, "%llf\n", res);
free(x);
free(y);
fclose(fout);
return 0;
}