Código de Delphi - Generador de permutaciones

Versión 1
estrellaestrellaestrellaestrellaestrella(4)

Publicado el 2 de Junio del 2007gráfica de visualizaciones de la versión: Versión 1
13.744 visualizaciones desde el 2 de Junio del 2007
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

Si alguno de los archivos de descarga no funciona, comentanos aquí el error.




Comentarios sobre la versión: Versión 1 (4)

13 de Junio del 2007
estrellaestrellaestrellaestrellaestrella
NO SIRVE, no produce las permutaciones correctas, por ejemplo:
al ingresar los datos 1234 el programa genera:
1243
1324
1342
1423
1432
2134
2143
2314
2341
2413
2431
3124
3142
3214
3241
3412
3421
4123
4132
4213
4231
4312
4321

siendo que por ejemplo cadenas que empiecen con un 1 pueden ser Mas:
1) 1,2,3,4
2) 1,2,4,3
3) 1,3,2,4
4) 1,3,4,2
5) 1,4,2,3
6) 1,4,3,2

dentro del codigo hay un seudo algoritmo el cual tampoco sirve, al implementarlo produce un resultado diferente al que produce el programa:
1) 1,2,3,4
2) 1,2,4,3
3) 1,3,2,4
4) 1,3,4,2
5) 1,4,2,3
6) 1,4,3,2
7) 2,1,3,4
8) 2,1,4,3
9) 2,3,1,4
10) 3,4,1,2
11) 4,2,1,3
12) 4,2,3,1
13) 4,3,1,2
14) 4,3,2,1

Responder
5 de Noviembre del 2007
estrellaestrellaestrellaestrellaestrella
Disculpe, pero creo que usted no comprende las funciones que tiene el programa. Le pongo la ayuda textualmente:

Es fácil de usar este programita generador de permutaciones. Tecleas en el edit
una permutación de hasta diez caracteres como máximo, no se puede repetir
ningún carácter, ej: 'aab' no es correcta, '213' si.

Con [Número] sabrás cuantas hay antes de ella en orden lexicográfico.
Con [Siguientes] se generarán todas las permutaciones que le siguen a la que
tecleaste en orden lexicográfico.
Con [Anteriores] se generarán todas las permutaciones que le preseden a la
que tecleaste en orden lexicográfico, pero decresiente.

le explico:

cuando pone usted 1234 el programa genera las siguientes a esa permutación con esos objetos (1,2,3,4). Claro que las que comienzan con 1 son 6, pero 1234 es la primera por lo que no se pone. Veamos las 6 permutaciones de 3 objetos enumeradas por el orden lexicográfico

1) 123
2) 132
3) 213
4) 231
5) 312
6) 321

si en el edit está 213, que es la tercera, al presionar el botón siguiente se pondrán en el memo la 4) , 5) y la 6) y se presiona el botón anteriores
se escribirán la 2) y la 1). Y con número obtendrá la cantidad que hay antes de ella, en este caso 2.

Y con todo respeto, si le interesa, debería revizar bien el código y el comentario del algoritmo porque este funcione correctamente.

¿Qué es seudo algoritmo?
Responder
14 de Enero del 2009
estrellaestrellaestrellaestrellaestrella
En efecto, si por ejemplo se introducen 1234, el programa no muestra :
1243, el código esta mal. Saludos.
Responder
7 de Junio del 2009
estrellaestrellaestrellaestrellaestrella
He revisado los resultados y me parece que solo falta insertar el resultado la dedena de referencia es decir, si vas a buscar las combinaciones de 1234, en memo debe de aparecer esta primero.
Por otro lado, se supone que el No de combianaciones posibles de una cadena de n elementos es el factorial de n!, por lo cual si las combinaciones que nos da al combinar 1234 es de 24 combinaciones diferentes, el resultado es correcto
Responder

Comentar la versión: Versión 1

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s1504