Pagini recente » Monitorul de evaluare | Monitorul de evaluare | Cod sursa (job #2576952) | Cod sursa (job #907579) | Cod sursa (job #2332693)
#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;
}