Un vector de puntos en el plano está normalizado si cumple todas las siguiente condiciones:
Recordad que el baricentro de un conjunto de puntos es el punto (x,y) del plano que tiene como coordenada x el valor medio de las coordenadas x’s de los puntos, y como coordenada y el valor medio de las coordenadas y’s de los puntos.
Haced un programa que lea vectores de puntos en el plano y determine si
están normalizados o no.
Vuestro programa ha de utilizar la siguiente definición:
struct Punto {
double x,y;
};
y también ha de definir, implementar y utilizar la función:
bool baricentro (const vector<Punto>& v, Punto& b);
que, dado un vector de puntos v, calcula en b el baricentro de los puntos de v, y devuelve un booleano que indica si b está o no en el vector v.
Entrada
La entrada consiste en diversas líneas con secuencias. Cada secuencia describe un vector de puntos mediante un natural n>0 y, a continuación, n pares de reales x1, y1, …, xn, yn que describen las coordenadas de los n puntos que forman el vector.
Salida
Para cada vector de puntos, la salida está formada por el baricentro de sus puntos y un indicador de si el vector es o no un vector normalizado. En caso de que no lo sea, la salida indica cuál de las tres propiedades de la definición es la primera que no se cumple.
Seguid el formato especificado en los ejemplos.
Los números reales se han de escribir con 2 cifras decimales. Utilizad:
cout.setf(ios::fixed);cout.precision(2);
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
baricentro: (0.00,0.00) el vector no cumple la propiedad 1 baricentro: (1.00,0.25) el vector no cumple la propiedad 2 baricentro: (0.00,0.00) el vector no cumple la propiedad 3 baricentro: (0.67,0.67) vector normalizado baricentro: (0.25,0.25) vector normalizado baricentro: (0.33,0.33) vector normalizado