/* Квадрат числа */
#define sqr(num) ((num)*(num))
/* Центр и радиус */
int cx, cy, r;
/* Заданная точка */
int mx, my;
/* Вычисления */
int hb = r * sin(my);
int vb = r * cos(mx);
/* Выходит за радиус */
if (
(mx>cx && mx>r) ||
(mx<cx && mx<r) ||
(my>cy && my>r) ||
(my<cy && my<r)
) printf("Out of radius");
/* Выходит за пределы */
else if (
(mx>cx && mx>hb) ||
(mx<cx && mx<hb) ||
(my>cy && my>vb) ||
(my<cy && my<vb)
) printf("Out of border");
/* Считаем вектор */
else
{
int v = sqrt(sqr(hb-mx) - sqr(vb-my) - sqr(r));
printf("Vector size: %d", v);
}
|