![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Jamás hubiera pensado que nadie leería la solución, y menos chaparsela para encontrar un bug !!
Mis más sinceras felicitaciones, Crandel. Hay que meter otro par de variantes. Cuando se haga un partido, marcar el reciproco por ejemplo con un 0. Por ejemplo, 1 vs 3, marcar con 0 la casilla 3-1. Si al iterar no se puede completar la jornada - en este caso se repetiría el partido 5-6 en la segunda jornada, habría que desmarcar todos los partidos de la jornada que estamos calculando y volver a empezar calculando el primer partido desde el siguiente equipo. ASí hasta que pueda completarse la jornada. Espero que sea suficiente. El fósforo lo gasté ayer haciendo el algoritmo. Saludos
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino - |
|
#2
|
|||
|
|||
|
Y no hay una manera mas simple de hacerlo?, pk la verdad he leido ese post que dejaste como 5 veces y no logro imaginarme como voy a poner eso en codigos jajajaja.
|
|
#3
|
||||
|
||||
|
Sí que habría una manera más fácil de hacerlo. Quedamos en cuántos eurakos me vas a dar y te paso el código. Así sólo haces copiar y pegar, que obviamente es más sencillo.
Creo que Crandel también estará de acuerdo ;-) Ya sabes, son los tiempos, que están muy achuchaos... y los pañales muy caros. Saluditos ![]() ![]()
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino - |
|
#4
|
|||
|
|||
|
jajajaja, pues eso se resume en que voy a leer mas detenidamente el otro post XD jajajaja de cualquier manera Gracias ^^
|
|
#5
|
||||
|
||||
|
Cita:
![]()
__________________
[Crandel] |
|
#6
|
||||
|
||||
|
Bueno, pues estaremos al tanto para ayudarte en lo que podamos, Peterlolazo.
Lo dicho, gasta mucho lápiz y papel, que es como realmente se aprende !! Saludos
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino - |
|
#7
|
|||
|
|||
|
Tengo hecho hace tiempo para mí algo parecido, es para torneos internos en las horas de recreo del instituto, lo que pasa es que mis condiciones son algo diferentes de lo que tu necesitas. Yo tengo varias categorías (grupos), y solo juega un equipo de cada categoría por día, siempre que el nº de campos lo permita, si no hay que ir turnandose y descansando algun grupo algún día.
Alguna idea ----------- - Supongo que tienes un solo grupo de equipos (también se puede hacer con más) - Primero se hacen los cruces a una vuelta. - Si se necesitan una segunda vuelta simplemente se copian los mismos partidos invirtiendo el orden de los equipos. - Luego se distribuye en cada fecha el máximo nº de partidos posibles con arreglo a los horarios y campos disponibles. Ejemplo con 4 equipos (es válido para cualquier nº de equipos) Para hacer los cruces de la primera vuelta, es muy simple, 1-2, 1-3, 1-4, 2-3, 2-4, 3-4, pero esto hace que un equipo juegue todos los partidos seguidos y luego este ocioso, o esta ocioso y luego tiene todos seguidos. Para hacer los cruces de forma que cada equipo juegue de una manera espaciada durante todo el torneo podemos hacerloa así: - Supongamos que tienes una tabla EQUIPOS con 4 registros, cada registro tiene un solo campo con el nombre de cada equipo: A, B, C, D - Creas dos tablas auxiliares AUXEQUIPOS, AUXPARTIDOS - En la tabla AUXEQUIPOS añades todos los registros de la tabla equipos repetidos tantas veces menos una como equipos hay, en este caso repetidos 3 veces (los 4 equipos repetidos 3 veces) y tendrás en AUXEQUIPOS 12 registros que serán: A B C D A B C D A B C D Ahora hacemos los partidos: - Coges en una variable el primer equipo de AUXEQUIPOS que es A como equipo local y lo borras de la tabla. - Coges en una variable el primer equipo de la tabla (ahora será B) como equipo visitente y guardas en una variable el partido A-B , miras en la tabla AUXPARTIDOS (con locate) si este partido ya existe ... si no existe añades un registro y lo pones como partido y borras el equipo visitante (B en este caso), de AUXEQUIPOS. ... si existe avanzas un registro en AUXEQUIPOS y coges el equipo como visitante y haces el partido y vuelves a mirar si este partido ya existe Con esto ya tenemos el primer partido y habrán desaparecido los dos equipos que intervienen de la tabla AUXEQUIPOS. - se sigue haciendo lo mismo para los demás partidos, hasta que la tabla AUXEQUIPOS esté vacia, y en AUXPARTIDOS tendremos todos distribuidos racionalmente: A-B C-D A-C B-D A-D B-C El equipo a juagará el 1º, 3º y 5º partido, el B el 1º, 4º y 6º, etc. Si necesitas una segunda vuelta, simplemente añade otros seis registros con los mismos partidos pero invertidos los equipos A-B C-D A-C B-D A-D B-C B-A D-C C-A D-B D-A C-B Ahora tendrás que asignar fechas a estos partidos que hay que jugar, no es dificil, hazlo en un papel y sigue esos pasos pero programando. Esto es valido para cuando juegan siempre en campos neutrales. Si es a doble vuelta y cada equipo tiene su campo propio, en el que juega cuando es local, habría que mejorar este sistema. Quizás sea un poco complicado de entender, pero funciona. Cualquier aclaración sigues preguntando. Última edición por fidel fecha: 28-02-2009 a las 18:56:51. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Algún algoritmo para calcular el último día de un mes | David | OOP | 3 | 06-03-2008 17:13:01 |
| problemas para ejecutar juegos pda | lialias | Varios | 7 | 20-02-2008 18:18:51 |
| Algoritmo para comparacion de cadenas | danilo_candales | Varios | 8 | 17-11-2007 17:23:14 |
| Librería para hacer juegos con Pascal | Ñuño Martínez | Varios | 21 | 28-09-2007 13:13:57 |
| Algoritmo para calcular el BPM | turminator | Varios | 0 | 29-05-2007 00:19:49 |
|