Pagini recente » Cod sursa (job #2621315) | Cod sursa (job #2622253) | Cod sursa (job #2961205) | Borderou de evaluare (job #339743) | Cod sursa (job #1490778)
#include <cstdio>
#include <utility>
using namespace std;
using punct = pair<double, double>;
double det(const punct& a, const punct& b){
return (a.first * b.second - a.second * b.first)/2; }
int main(){
FILE *f = fopen("aria.in", "r"),
*g = fopen("aria.out", "w");
int n;
fscanf(f, "%d ", &n);
punct primul, penultimul, ultimul;
fscanf(f, "%lf %lf ", &primul.first, &primul.second);
ultimul = primul;
double rez = 0;
for(int i = 1; i < n; ++i){
penultimul = ultimul;
fscanf(f, "%lf %lf ", &ultimul.first, &ultimul.second);
rez += det(penultimul, ultimul); }
rez += det(ultimul, primul);
fprintf(g, "%lf", rez);
fclose(f), fclose(g);
return 0; }