Vectors normalitzats X96647


Statement
 

pdf   zip

html

Un vector de punts al pla está normalitzat si compleix totes les següents condicions:

  1. El vector conté almenys dos elements diferents.
  2. La suma de totes les coordenades x’s dels punts al vector coincideix amb la suma de totes les coordenades y’s dels punts al vector.
  3. El baricentre dels punts del vector no apareix al vector.

Recordeu que el baricentre d’un conjunt de punts és un punt (x,y) al pla que té com a coordenada x el valor mitjà de les coordenades x’s dels punts, i com a coordenada y el valor mitjà de les coordenades y’s dels punts.


Feu un programa que llegeixi vectors de punts al pla i determini si estan o no normalitzats.

El vostre programa ha de fer servir la següent definició:

struct Punt {

  double x,y;

};

i també ha de definir, implementar i utilitzar la funció:

bool baricentre (const vector<Punt>& v, Punt& b);

que, donat un vector de punts v, calcula a b el baricentre dels punts de v, i retorna un booleà indicant si b és o no al vector v.

Entrada

L’entrada consisteix en diverses línies amb seqüències. Cada seqüència descriu un vector de punts mitjançant un natural n>0 i, a continuació, n parells de reals x1, y1, …, xn, yn que descriuen les coordenades dels n punts que formen el vector.

Sortida

Per a cada vector de punts, la sortida està formada pel baricentre dels seus punts i un indicador de si és o no un vector normalitzat. En cas que no ho sigui, la sortida indica quina de les tres propietats de la definició és la primera que no es compleix.


Seguiu el format especificat als exemples.


Els nombres reals cal escriure’ls amb 2 xifres decimals. Feu servir:

cout.setf(ios::fixed);

cout.precision(2);

Public test cases
  • Input

    3 0 0 0 0 0 0
    4 1 0 1 1 1 0 1 0
    3 0 1 0 -1 0 0
    3 0 1 1 0 1 1
    4 0 0 1 0 0 1 0 0
    3 0 0 1 1 0 0
    

    Output

    baricentre: (0.00,0.00)
    el vector no compleix la propietat 1
    baricentre: (1.00,0.25)
    el vector no compleix la propietat 2
    baricentre: (0.00,0.00)
    el vector no compleix la propietat 3
    baricentre: (0.67,0.67)
    vector normalitzat
    baricentre: (0.25,0.25)
    vector normalitzat
    baricentre: (0.33,0.33)
    vector normalitzat
    
  • Information
    Author
    Maria J. Serna i Maria J. Blesa
    Language
    Catalan
    Other languages
    English Spanish
    Official solutions
    Unknown. This problem is being checked.
    User solutions
    C++