..., но не до конца. Я использовал почти твой алгоритм, но с проверкой равенства иксов:
iRes=0;
if(x2!=x1)
{
if(yc-y1==(y2-y1)/(x2-x1)*(xc-x1))
{
if((xc-x1)*(xc-x2)<=0)
iRes=1;
}
}
else
{
if(xc==x1)
{
if((yc-y1)*(yc-y2)<=0)
iRes=1;
}
}
, можешь проверить в прикреплённом мувике (извини, немножко увлёкся

)