[ Foro de Pascal ]

¿Que clase de matriz debo usar...?

27-Apr-2014 17:01
Invitado (Marc)
3 Respuestas

Hola de nuevo!

Siguiendo con el tema de vectores y matrices, me gustaría saber que tipo aplicar en el ejemplo que expongo a continuación.

Bien, en un tema del foro anterior, ya toqué el tema de la lotería para practicar con esta estructura. Ya que puedo practicar los while, los for, repeats...etc.

¡Al grano! :)

Imaginemos que escogemos 7 números de la lotería primitiva. Y para facilitar el ejemplo, serían del 1 al 7. La máximas combinaciones posibles, son 7:

01,02,03,04,05,06
01,02,03,04,05,07
01,02,03,04,06,07
01,02,03,05,06,07
01,02,04,05,06,07
01,03,04,05,06,07
02,03,04,05,06,07

Ahora bien, que tipo de vector o matriz, se necesita para crear estas. Luego, aparte, debería crear el algoritmo para que no se repitieran las combinaciones. Pero bueno, ese ya es otro asunto.

Pensaba que se puede crear un vector tipo
comb_1[1..6]
comb_2[1..6]
...
comb_7[1..6]

Pero claro, si salen 1000 combinaciones distintas no es lógico definir 1000 vectores ¿No...? Supongo que debe haber otro sistema. No sé si será con matrices bidimensionales o multidimensionales.

El algoritmo debe detectar si ha salido la combinación anterior. Y claro, para eso, el uso de vectores es lo más lógico, creo...

Saludos!






28-Apr-2014 21:34
Nacho Cabanes (+31)

En ese tipo de problemas, generalmente no se generan 1000 vectores (a no ser que necesites tener todos en memoria a la vez), sino que las posibles combinaciones se generan en un cierto orden, para que la secuencia sea repetible y puedas ir creándola sobre un único vector, de forma correlativa.

Pero el generar todas las combinaciones no es algo especialmente fácil. ¿Cómo se te da la recursividad...? ;-D


29-Apr-2014 19:38
Invitado (Marc)

¿La recursividad? ¡Que dices! Si estoy aprendiendo. Supongo que deberé aparcar este código hasta que este mas avanzado en el curso.  Es que, claro, se me ocurren ideas o programas donde aún no se como pasarlos a código. Tendré que ir paso a paso. Saludos!


30-Apr-2014 20:59
Nacho Cabanes (+31)

Si aun así te da por leer, para cuando tengas más conocimientos, aquí tienes cosas sobre búsqueda exhaustiva:

http://nachocabanes.blogspot.com.es/2013/04/busqueda-exhaustiva-backtracking.html






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)