Pagini recente » Cod sursa (job #1768197) | Cod sursa (job #1714667) | Cod sursa (job #146974) | Cod sursa (job #1694630) | Cod sursa (job #1999759)
//
// main.cpp
// ariePoligon
//
// Created by Radu Romaniuc on 03/07/2017.
// Copyright © 2017 Romaniuc Radu. All rights reserved.
//
#include <stdio.h>
struct Punct
{
double x;
double y;
};
int main()
{
int nr_puncte;
Punct puncte[100000];
FILE *input = fopen("aria.in", "r");
fscanf(input, "%d", &nr_puncte);
int translatare = 0;
for(int i = 0; i < nr_puncte; i++)
{
fscanf(input, "%lf %lf", &puncte[i].x, &puncte[i].y);
if(puncte[i].x == 0 && puncte[i].y == 0) translatare = 1;
}
double aria = 0;
int i;
for(i = 0; i < nr_puncte - 1; i++)
aria += 0.5 * (puncte[i].x * puncte[i + 1].y - puncte[i + 1].x * puncte[i].y);
aria += 0.5 *
((puncte[i].x + translatare) * (puncte[0].y + translatare) - (puncte[0].x + translatare) * (puncte[i].y + translatare));
FILE *output = fopen("aria.out", "w");
fprintf(output, "%.5f", aria);
return 0;
}