¿Forman un cuadrado estos puntos?

Manuel García

/* Programa que determina si 4 puntos en el plano son los vértices de un cuadrado */

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

int main ()

{
    float a1, a2, b1, b2, c1, c2, d1, d2;

    cout << “Introduce las coordenadas a1, a2 de un punto del plano “;
    cin >> a1 >> a2;
    cout << endl << “Introduce las coordenadas b1, b2 de un punto del plano “;
    cin >> b1 >> b2;
    cout << endl << “Introduce las coordenadas c1, c2 de un punto del plano “;
    cin >> c1 >> c2;
    cout << endl << “Introduce las coordenadas d1, d2 de un punto del plano “;
    cin >> d1 >> d2;
    cout << endl;

    if ((a1==b1 && a2==b2) || (a1==c1 && a2==c2) || (a1==d1 && a2==d2) || (b1==c1 && b2==c2) || (b1==d1 && b2==d2) || (c1==d1 && c2==d2))
    cout << “Estos cuatro puntos del plano no forman un cuadrado” << endl << endl;
    else
    {
        if (sqrt((pow(a1-b1,2))+pow(a2-b2,2))==sqrt((pow(c1-d1,2))+pow(c2-d2,2)) && sqrt((pow(a1-c1,2))+pow(a2-c2,2))==sqrt((pow(b1-d1,2))+pow(b2-d2,2)) && sqrt((pow(a1-d1,2))+pow(a2-d2,2))==sqrt((pow(b1-c1,2))+pow(b2-c2,2)) && (((a1-b1)*(c1-d1)+(a2-b2)*(c2-d2))==0 || ((a1-c1)*(b1-d2)+(a2-c2)*(b2-d2))==0 || ((a1-d1)*(b1-c1)+(a2-d2)*(b2-c2))==0))

        cout << “Estos cuatro puntos del plano forman un cuadrado” << endl << endl;
        else
        cout << “Estos cuatro puntos del plano no forman un cuadrado” << endl << endl;

    }

system(“pause”);
return 0;

}

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

2 respuestas a ¿Forman un cuadrado estos puntos?

  1. Da la impresión que este algoritmo para que tenga una cierta validez habría que poner condiciones muy fuertes sobre los puntos de entrada.. Si ese es el caso, aclara cuáles serían esas condiciones en un comentario.

  2. ahora tiene mejor pinta.. aunque solo identifica los cuadrados.

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