91212

Created Diff never expires
5 removals
37 lines
3 additions
35 lines
#include <stdio.h>
#include <stdio.h>
#include <stdlib.h>
#include <stdlib.h>


struct coordinate
struct coordinate
{
{
double x_point;
double x_point;
double y_point;
double y_point;
};
};


struct coordinate linkingpoint;
struct coordinate linkingpoint;


int main()
int main()
{
{
int number;
int number;
scanf("%d", &number);
scanf("%d", &number);
double area;
double area;
double result = 0;
double result = 0;
struct coordinate * all_point = malloc(number*sizeof(struct coordinate));
struct coordinate * all_point = malloc(number*sizeof(struct coordinate));
//
for (int i = 0; i < number; i++)
for (int i = 0; i < number; i++)
{
{
scanf("%f %f", &all_point[i].x_point, &all_point[i].y_point);
scanf("%lf %lf", &all_point[i].x_point, &all_point[i].y_point);
}
}
linkingpoint = all_point[0];
linkingpoint = all_point[0];
for (int i = 1; i < number - 1; i++)
for (int i = 1; i < number - 1; i++)


{
{
area = ((all_point[i].x_point - linkingpoint.x_point) * (all_point[i + 1].y_point - linkingpoint.y_point)) - ((all_point[i].y_point - linkingpoint.y_point)*(all_point[i + 1].x_point - linkingpoint.x_point));
area = ((all_point[i].x_point - linkingpoint.x_point) * (all_point[i + 1].y_point - linkingpoint.y_point)) - ((all_point[i].y_point - linkingpoint.y_point)*(all_point[i + 1].x_point - linkingpoint.x_point));
result += area / 2;
result += area / 2;
}
}
long double result2;
if (result < 0)
if (result < 0)
result *= -1;
result *= -1;
result2 = (long double)result;
printf("%.1lf", result);
printf("%.1Lf", result2);
}
}