Algoritmia - un rombo

 
Vista:

un rombo

Publicado por GepetoBerne (1 intervención) el 12/12/2005 20:23:43
todo comenzo con un rombo.

habia que dibujar un rombo en la pantalla, en c y con los printf.

1 2 3 4 5
1 *
2 * * *
3 * * * * *
4 * * *
5 *

primero probe con todo lo que uno prueba primero. diagonales, sectores
y demas. todo funciona pero no tiene sabor, entonces pense
"tiene que haber una relacion que dibuje el rombo".
una relacion cuya entrada sea un par ordenado y cuya salida indique
si el par ordenado pertenece a algun punto del rombo o no.

la relacion: los pares implicados son aquellos cuya diferencia abs no es mayor que 2 y
cuya suma es igual al cardinal del conjunto de entrada
dividido por 2 mas 1 mas un numero n que se incrementa tantas veces como el
cardinal (n = n + 1; n >= 1)

esta relacion es solo para una grilla de 5*5. la generalizacion es facil pero ahora
no importa.

los pares:
(1,1) => es su diferencia no mayor que 2? (o menor que 3) 1-1 = 0
=> si, la dif abs es menor que 3, ahora, es su suma igual al cardinal (5) dividido
por 2 mas uno mas un n que empieza en 1 y se incrementa.

1 + 1 = 2

5 /(ent) 2 = 2 + 1 = 3 ; 3 + (n=1) = 4

2 <> 4 y por eso el punto de cordenadas 1,1 no pertenece a la figura del rombo
(1,2) => 1-2 = 1 ; 1 + 2 = 3 ; 1 <> 4. no pertenece.
(1,3) => 1-3 = 2 ; 1 + 3 = 4 ; 4 = 4. si pertenece.
(1,4) => 1-4 = 3. no es menor que 3, no pertenece

y asi...

el programa en c que dibuja el rombo basado en la relacion que lo genera es este:

#include <stdio.h>
#include <conio.h>
#include <math.h>

main()
{
int i,j;

for (i = 1; i <= 5; i++) {
for (j = 1; j <= 5; j++) {

if (fabs(i - j) < 3) {
if (i + j == 4 || i + j == 5 || i + j == 6 || i + j == 7 || i + j == 8) printf ("*");
else printf (" ");
}
else printf (" ");
}
printf ("\n");
}

getche();
return 0;
}

-----------------------------------------------------------------------------------

lo interesante de esto no es dibujar un rombo, se me ocurren algunas cosas.

poder demostrar que para cada dispersion de puntos en un plano existe una relacion que lo genera
ya sea que forme un rombo, o cualquier cosa. hacer un programa que encuentre la/s relacio/nes que
formar una dispersion dada.

entre las utilidades se me ocurre.

metodo de compresion de informacion
dibujos en 3d uniendo capas formadas por relaciones
reconocimiento de patrones

si vemos un programa como una dispersion de puntos en memoria...

memoria al antes de comenzar el programa

1 0 1 0 0 0 0 1 1 1 0 0 0 1 => al fin y al cabo es una dispersion de puntos
0 0 0 1 1 1 0 1 1 1 0 0 1 1
0 1 1 1 1 1 0 0 0 0 1 1 1 0

y una serie de intrucciones que cambian estas secuencias en memoria podriamos representar
un programa como una relacion que representa el estado inicial, una que representa el estado final
y otra que lleva de la primera a la segunda.

------------------------------------------------------------------------------------

bien, eso es todo. antes que nada aclaro que todo esto es una flashada, una de esas cosas
que se le ocurren a uno cuando esta medio en pedo o en el baño.(jaja)

quizas esto este super desarrollado y yo no supe buscar con los nombres correctos, quizas
sea todo una semerenda estupides o quizas no sirva para nada, y es por eso que me pinta.

si esto te provoca interes contactame y desarrollemos esto para ver hasta donde llega.
si no te provoca interes intenta mandarlo a alguien que quizas si.
si pensas que todo esto es basura podes escribir un buen par de puteadas y mandarlas de vuelta.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:un rombo

Publicado por eunice paez jimenez (1 intervención) el 16/03/2006 16:01:57
rombo


cual es la diferencia ehtrew el romboide y el rombe

quiero dibujos no palabras
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar