读书人

直线上下方有关问题

发布时间: 2012-02-22 19:36:55 作者: rapoo

直线上下方问题
已知一直线经过(OX,OY)及(0,0),现在有一点(X,Y)判断其在直线的上方或下方(如果直线为Y轴,左方为上方),上方返回正数,下方返回负数,在直线上返回0;完成下面的函数:

int CheckUpDown(int ox,int oy,int x,int y)
{
return ______________;
}

[解决办法]
(oy == 0)?(y <0 ? -1:1 ):(x <0? -1:1))


上面漏了一个右括号
[解决办法]
int CheckUpDown(int ox,int oy,int x,int y)
{
return (ox> =0)?(x*(y-oy)-y*(x-ox)):(x*(y+oy)-y*(x+ox));
}

读书人网 >C++

热点推荐