Pagini recente » Cod sursa (job #2361991) | Cod sursa (job #1908243) | Cod sursa (job #3261394) | Cod sursa (job #1351316) | Cod sursa (job #2929668)
#include <stdio.h>
#include <stdlib.h>
FILE *f1open;
FILE *f2open;
struct point{
double x,y;
}a,b,c;
double aria(struct point a,struct point b)
{
return (0.5*a.x)*b.y - (0.5*b.x)*a.y;
}
int main()
{
f1open = fopen("aria.in", "r");
f2open = fopen("aria.out", "w");
int n;
long double surface=0;
fscanf(f1open, "%d",&n);
if(n<3){
fprintf(f2open,"0");
return 0;
}
fscanf(f1open, "%lf%lf",&a.x, &a.y);
c = a;
for(int i=2;i<=n;i++)
{
fscanf(f1open, "%lf%lf",&b.x, &b.y);
surface+=aria(a,b);
a = b;
}
surface+=aria(b,c);
fprintf(f2open, "%0.5Lf\n",surface);
fclose(f1open);
fclose(f2open);
return 0;
}