Detectando cuadrados

propuesto por josejuan

Escribir una función que, tomando cuatro coordenadas en el plano entero Z^2, indique si forman un cuadrado o no.

Enunciado
Escribir una función que, tomando cuatro coordenadas en el plano entero Z^2, indique si forman un cuadrado o no.

Es decir, dadas cuatro coordenadas con componentes enteras, devolver cierto o falso según formen un cuadrado.

Si las cuatro coordenadas son las mismas, la función puede devolver cierto o falso.

Ejemplos de SI cuadrados:

(0,0), (0,1), (1,1), (1,0)
(0,0), (2,1), (3,-1), (1, -2)
(0,0), (1,1), (0,1), (1,0)

Ejemplos de NO cuadrados:

(0,0), (0,2), (3,2), (3,0)
(0,0), (3,4), (8,4), (5,0)
(0,0), (0,0), (1,1), (0,0)
(0,0), (0,0), (1,0), (0,1)

¡Feliz 2013!
Preguntas sobre el desafío

¿Tienes dudas sobre el desafío? plantéala aquí

Plantea tu pregunta

5 Soluciones

Dar mi solución

0votos
Detectando cuadrados en Ruby
por

gaby05

hace 6 años

Buena aquí esta mi solución, estoy aprendiendo ruby y me parecieron muy buenos los desafíos de esta página para practicar. Solamente calcule las distancias entre cada punto, las guarde en un arreglo y después verifique que hubieran 4 y 2 valores iguales, es decir 4 lados iguales y 2 diagonales.

0votos
Detectando cuadrados en Scala
por

ignasi35

usando scalaIDE hace 6 años

En un cuadrado hay 6 distancias entre puntos (ab, ac, ad, bc, bd, cd). Cuatro de ellas tienen que ser iguales (lados) y las otras dos deben ser iguales (diagonales) y además raíz cuadrada del doble de un lado.

0votos
Detectando cuadrados en JavaScript
por

josejuan

hace 6 años

Se puede resolver sólo con sumas y comparaciones. Un cuadrado es un paralelogramo rectángulo, por tanto, cumple que un vértice es la suma de los vectores opuestos (es un paralelogramo) y las longitudes de las componentes opuestas de dichos vectores son iguales (forman un ángulo recto y por tanto es rectángulo).

Dar mi solución