1746: 三角形面积

Time Limit: 1 Sec  Memory Limit:
128 MB

Submit: 100  Solved: 31



SubmitStatusWeb
Board

Description

输入三个点的坐标,我们以此三个点围成一个三角形,你需要计算的是这个三角形的面积。不过单纯这样实在太没意思了,所以增加点难度。我们将给出的三个点依次连接起来,所形成的路线可能是顺时针的也可能是逆时针的。我们把顺时针的三角形称为顺三角形,逆时针的称为逆三角形。然后我们强行规定,顺三角形的面积为正,逆三角形的面积为负。

Input

输入 6 个整数,分别代表 3个点的x,y,坐标。{(x1,y1),(x2,y2),(x3,y3)}以0 0 0 0 0 0 为结束。

Output

输出这个三角形的面积。结果保留两位小数。

Sample Input

1 1 2 3 3 2
1 1 3 2 2 3
0 0 0 0 0 0

Sample Output

1.50

-1.50


#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
int main()
{
int x[3],y[3];
while(scanf("%d%d%d%d%d%d",&x[0],&y[0],&x[1],&y[1],&x[2],&y[2])!=EOF)
{
if(x[0]==0&&y[0]==0&&x[1]==0&&y[1]==0&&x[2]==0&&y[2]==0)
break;
printf("%.2lf\n",((x[1]-x[0])*(y[2]-y[0])-(x[2]-x[0])*(y[1]-y[0]))*-1.0/2);
}
return 0;
}

05-29 00:04