Resolver problemas de programación en lenguaje C, respuesta 200 puntos
#include lt; stdio.hgt;
#include lt; /p>
{
int T;
doble h1, r1, x1, y1, z1
doble h2, r2, x2, y2; , z2, x3, y3, z3;
double x4, y4, z4; //vector de puntos a un punto de una recta
double ty2, dis;
scanf("d",&T);
while(T--)
{
scanf("lf lf lf lf",amp ;h1,amp;r1,amp;x1,amp;y1,amp;z1); //La altura del ladrón, el radio de la cabeza y su posición
scanf("lf lf lf lf lf", amp;h2,amp;r2,amp;x2,amp;y2,amp;z2,amp;x3,amp;y3,amp;z3
//Altura del policía, radio de la cabeza, posición de pie , y vector de la dirección en la que apunta el hocico hacia la cabeza. La altura real de la cabeza es 10 menor que cuando está erguida
//Calcular los vectores de dirección lineal x3, y3, z3
h2 = h2*0.9;
// Encuentra un punto en la recta x2, y2, z2 h2
//Encuentra el vector de un punto a otro punto de la recta
x4=x1-x2;
y4=y1-y2;
z4=z1 h1-(z2 h2); > //Encuentra el vector en la proyección de la línea recta (x3, y3, z3). (x4, y4, z4)/|x3, y3, z3|
//Encuentra la distancia desde el punto a la línea recta sqrt(el cuadrado de (x4, y4, z4) - el cuadrado de arriba )
ty2 = (x3*x4 y3*y4 z3*z4
ty2 = ty2*ty2
ty2/= (x3*x3 y3); *y3 z3*z3 );
//printf("\ntest= lf lf lf\n", x4, y4, z4); *y4 z4*z4 ;
dis = sqrt(dis-ty2);
//printf ("lf\n", dis);
if (disgt; r1)
printf("NO\n");
else
printf("SÍ\n"); p> } p>
}