Pagini recente » Cod sursa (job #231291) | Cod sursa (job #857293) | Cod sursa (job #2736540) | Cod sursa (job #1272163) | Cod sursa (job #1490780)
#include <cstdio>
#include <utility>
#include <vector>
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);
vector<punct> v(n+1);
for(int i = 0; i < n; ++i){
fscanf(f, "%lf %lf ", &v[i].first, &v[i].second); }
v[n] = v[0];
double rez = 0;
for(int i = 0; i <= n; ++i){
rez += det(v[i], v[i+1]); }
fprintf(g, "%lf", rez);
fclose(f), fclose(g);
return 0; }