¿Cuatro puntos en el plano forman un cuadrado?

Diego Adrián Díaz-Plaza

/* Este programa decide si cuatro puntos en un plano forman un cuadrado */

#include <iostream>
#include <math.h>
using namespace std;

int main()
{
double a1, a2, a3, b1, b2, b3, c1, c2, c3, d1, d2, d3;
double moduloab, moduloac, moduload, modulobc, modulobd, modulocd;

cout >> a1 >> a2 >> a3;
cout >> b1 >> b2 >> b3;
cout >> c1 >> c2 >> c3;
cout >> d1 >> d2 >> d3;

cout <<“El vector ab es: (” << (b1-a1) << “,”<< (b2-a2) << “,” << (b3-a3) <<“)” << endl;
cout <<“El vector ac es: (” << (c1-a1) << “,”<< (c2-a2) << “,” << (c3-a3) <<“)” << endl;
cout <<“El vector ad es: (” << (d1-a1) << “,”<< (d2-a2) << “,” << (d3-a3) <<“)” << endl;
cout <<“El vector bc es: (” << (c1-b1) << “,”<< (c2-b2) << “,” << (c3-b3) <<“)” << endl;
cout <<“El vector bd es: (” << (d1-b1) << “,”<< (d2-b2) << “,” << (d3-b3) <<“)” << endl;
cout <<“El vector cd es: (” << (d1-c1) << “,”<< (d2-c2) << “,” << (d3-c3) <<“)” << endl;

moduloab= sqrt (pow(b1-a1,2)+pow(b2-a2,2)+pow(b3-a3,2));
moduloac= sqrt (pow(c1-a1,2)+pow(c2-a2,2)+pow(c3-a3,2));
moduload= sqrt (pow(d1-a1,2)+pow(d2-a2,2)+pow(d3-a3,2));
modulobc= sqrt (pow(c1-b1,2)+pow(c2-b2,2)+pow(c3-b3,2));
modulobd= sqrt (pow(d1-b1,2)+pow(d2-b2,2)+pow(d3-b3,2));
modulocd= sqrt (pow(d1-c1,2)+pow(d2-c2,2)+pow(d3-c3,2));

cout <<“El modulo del vector ab es:” << fabs(moduloab) << endl;
cout <<“El modulo del vector ac es:” << fabs(moduloac) << endl;
cout <<“El modulo del vector ad es:” << fabs(moduload) << endl;
cout <<“El modulo del vector bc es:” << fabs(modulobc) << endl;
cout <<“El modulo del vector bd es:” << fabs(modulobd) << endl;
cout <<“El modulo del vector cd es:” << fabs(modulocd) << endl;

/* Para comprobar si se trata de un cuadrado basta con que cuatro módulos sean iguales entre sí y los dos restantes entre sí. Como hay simetría respecto a una diagonal cualquiera, fijado un punto ‘a’ hay 3 posibles diagonales (ab,ac,ad) con los 3 restantes puntos, y cualquiera de esas posibilidades habrá que sondearla, lo que da lugar a 3 posibilidades distintas de que sea cuadrado */

if ((fabs(moduloac)==fabs(moduload)==fabs(modulobc)==fabs(modulobd)) && (fabs(modulocd)==fabs(moduloab))) {
cout <<” Los puntos constituyen un cuadrado “<<endl;}
else if ((fabs(moduloab)==fabs(moduload)==fabs(modulocb)==fabs(modulocd)) && (fabs(moduloac)==fabs(modulobd))) {
cout <<” Los puntos constituyen un cuadrado “<<endl;}
else if ((fabs(moduloab)==fabs(moduloac)==fabs(modulodb)==fabs(modulodc)) && (fabs(moduload)==fabs(modulobc))) {
cout <<” Los puntos constituyen un cuadrado “<<endl;}
else {
cout <<” Los puntos no constituyen un cuadrado”<<endl;}

return 0;
}

Anuncios
Esta entrada fue publicada en Informática e Internet. Guarda el enlace permanente.

Una respuesta a ¿Cuatro puntos en el plano forman un cuadrado?

  1. Observa las correcciones.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s