Per resoldre aquest exercici us caldran les definicions i els procediments dels problemes P46254 i P84786.
Feu un procediment que llegeixi un punt:
void llegeix(Punt& p);
el qual ve donat a l’entrada amb els dos reals @x@ i @y@ en aquest ordre.
Feu també un procediment que llegeixi un cercle:
void llegeix(Cercle& c);
el qual ve donat a l’entrada amb els tres reals @x@, @y@, i @radi@ en aquest ordre.
Useu tot això per fer un programa que llegeixi un cercle @c@ i un punt inicial @p@, que vagi desplaçant @p@ segons s’indiqui a l’entrada, i que vagi indicant quan @p@ entra o surt de @c@. Suposeu que @p@ no es trobarà mai just a la frontera de @c@.
L’entrada comença amb una línia amb el cercle @c@ (tres reals, l’últim estrictament positiu) i una línia amb el punt @p@ (dos reals). A continuació ve un natural seguit de línies, cadascuna amb un punt que indica el desplaçament següent de @p@.
Cal indicar la situació inicial de @p@ respecte a @c@, així com els moments en què el punt entra o surt del cercle. Seguiu el format dels exemples.
Input
0 0 4.5 1 1 5 10 1 0 0 -10 -1 0.5 0.5 0 -20
Output
inicialment a dins al pas 1 ha sortit a fora al pas 3 ha entrat a dins al pas 5 ha sortit a fora
Input
5 10 2.5 2 2 3 -1 -1 -1 -1 -1 -1
Output
inicialment a fora