Cercles (2) P39799


Statement
 

pdf   zip

thehtml

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.

Entrada

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 n seguit de n línies, cadascuna amb un punt que indica el desplaçament següent de p.

Sortida

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.

Public test cases
  • 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
    
  • Information
    Author
    Salvador Roura
    Language
    Catalan
    Other languages
    English
    Official solutions
    C++
    User solutions
    C++