Ciao prolog
Publicado por Pepe (1 intervención) el 19/04/2017 12:39:19
Hola gente, tengo una duda con ciao prolog, a ver si me podeis ayudar a lo largo de hoy.
La idea es sencilla:
Me pasan una lista, una lista con un numero de huecos (por ejemplo [_,_,_] indica que hay 3 (filas), otra lista con el mismo numero de huecos (culomnas), y una variable R donde se irá almacenando el resultado.
Os lo intentaré explicar con un ejemplo grafico y luego el formato de R.
Si me pasan [a,b,c], [_,_,_] [_,_,_] significa que tengo que hacer algo de 9 (3 filas * 3 columnas)
entonces seria, graficamente, algo asi:
a b c
c b a
a b c
Es como ir haciendo una serpiente. de izq a dcha, luego de dcha a izq, luego izq a dcha, etc
Si me pasasen a b c d _ _ , _ _ _
Entonces sería:
a b
d c
a b
Ultimo ejemplo.
Si te pasan a b c d , luego 5 huecos y luego 3, deberia ser asi:
a,b,c,d,a
b,a,d,c,b
c,d,a,b,c
Es como ir haciendo una serpiente con las letras que tienes, y si te faltan letras repites. Aunque si te pasan abcde acabes en a, no pasa nada, el caso es usar filas * columnas letras, y una vez se te acaben las letras de la lista vuelves a tomar la primera.
Vale, suponiendo que se haya entendido, ahora el formato de R ha de ser:
En el primer ejemplo: [[a b c] [c b a] [ a b c]]
En el ULTIMO ejemplo: R = [[a,b,c,d,a],[b,a,d,c,b],[c,d,a,b,c]]
Es simplemente una lista de listas, y en cada lista hay una fila, y cada columna una lista distinta.
Sé que direis "pero si las columnas pares son la inversa de la "normal"" y si, es asi.
Pero en LOGICA PURA no se como escribirlo... Asi que si podeis echarme una mano os lo agradeceria
La idea es sencilla:
Me pasan una lista, una lista con un numero de huecos (por ejemplo [_,_,_] indica que hay 3 (filas), otra lista con el mismo numero de huecos (culomnas), y una variable R donde se irá almacenando el resultado.
Os lo intentaré explicar con un ejemplo grafico y luego el formato de R.
Si me pasan [a,b,c], [_,_,_] [_,_,_] significa que tengo que hacer algo de 9 (3 filas * 3 columnas)
entonces seria, graficamente, algo asi:
a b c
c b a
a b c
Es como ir haciendo una serpiente. de izq a dcha, luego de dcha a izq, luego izq a dcha, etc
Si me pasasen a b c d _ _ , _ _ _
Entonces sería:
a b
d c
a b
Ultimo ejemplo.
Si te pasan a b c d , luego 5 huecos y luego 3, deberia ser asi:
a,b,c,d,a
b,a,d,c,b
c,d,a,b,c
Es como ir haciendo una serpiente con las letras que tienes, y si te faltan letras repites. Aunque si te pasan abcde acabes en a, no pasa nada, el caso es usar filas * columnas letras, y una vez se te acaben las letras de la lista vuelves a tomar la primera.
Vale, suponiendo que se haya entendido, ahora el formato de R ha de ser:
En el primer ejemplo: [[a b c] [c b a] [ a b c]]
En el ULTIMO ejemplo: R = [[a,b,c,d,a],[b,a,d,c,b],[c,d,a,b,c]]
Es simplemente una lista de listas, y en cada lista hay una fila, y cada columna una lista distinta.
Sé que direis "pero si las columnas pares son la inversa de la "normal"" y si, es asi.
Pero en LOGICA PURA no se como escribirlo... Asi que si podeis echarme una mano os lo agradeceria
Valora esta pregunta


0