Diferencia entre revisiones de «Sistema de todos contra todos»

Contenido eliminado Contenido añadido
Iams83 (discusión · contribs.)
Sin resumen de edición
Iams83 (discusión · contribs.)
Línea 177:
=== JAVA ===
<pre>
// Calculo de liga usando algoritmo fixture
package generaliga;
 
public class Liga
{
static public class Partido
{
public int local = -1, visitante = -1;
}
 
private static Partido[][] calcularLigaNumEquiposPar(int numEquipos)
// Calculo de liga usando algoritmo fixture
private static Partido[][] calcularLiga(int numEquipos)
{
int numRondas = numEquipos - 1;
Línea 208 ⟶ 210:
}
iffor (numPartidosPorRondaint % 2i == 0; i < numRondas; i ++)
{
forif (int i % 2 == 0; i < numRondas; i ++)
{
if (rondas[i][0].visitante %= 2numEquipos ==- 0)1;
{}
else
rondas[i][0].visitante = numEquipos - 1;
}{
elserondas[i][0].visitante = rondas[i][0].local;
{rondas[i][0].local = numEquipos - 1;
rondas[i][0].visitante = rondas[i][0].local;
rondas[i][0].local = numEquipos - 1;
}
}
}
for (int iequipoMasAlto = numRondasnumEquipos - 1, k = 0; i >= 0; i --)
int equipoImparMasAlto = equipoMasAlto - 1;
for (int i = 0, k = equipoImparMasAlto; i < numRondas; i ++)
{
for (int j = numPartidosPorRonda - 1; j >< 0numPartidosPorRonda; j --++)
{
rondas[i][j].visitante = k;
 
k ++--;
 
if (k == numRondas-1)
k = 0equipoImparMasAlto;
}
}
Línea 240 ⟶ 242:
}
 
private static Partido[][] calcularLigaNumEquiposImpar(int numEquipos)
static public void main(String[] args)
{
int numEquiposnumRondas = 8numEquipos;
int numPartidosPorRonda = numEquipos / 2;
Partido[][] rondas = calcularLiga(numEquipos)new Partido[numRondas][numPartidosPorRonda];
for (int i = 0, k = 0; i < numRondas; i ++)
{
for (int j = -1; j < numPartidosPorRonda; j ++)
{
if (j >= 0)
{
rondas[i][j] = new Partido();
rondas[i][j].local = k;
}
k ++;
 
if (k == numRondas)
k = 0;
}
}
int equipoMasAlto = numEquipos - 1;
for (int i = 0, k = equipoMasAlto; i < numRondas; i ++)
{
for (int j = 0; j < numPartidosPorRonda; j ++)
{
rondas[i][j].visitante = k;
 
k --;
 
if (k == -1)
k = equipoMasAlto;
}
}
return rondas;
}
static public Partido[][] calcularLiga(int numEquipos)
{
if (numEquipos % 2 == 0)
return calcularLigaNumEquiposPar(numEquipos);
else
return calcularLigaNumEquiposImpar(numEquipos);
}
static public void mostrarPartidos(Partido[][] rondas)
{
System.out.println("IDA");
Línea 259 ⟶ 308:
System.out.println();
}
System.out.println();
System.out.println("VUELTA");
Línea 275 ⟶ 322:
System.out.println();
}
}
 
static public void main(String[] args)
{
System.out.println("Liga con 8 partidos:");
mostrarPartidos(calcularLiga(8));
System.out.println();
System.out.println("Liga con 7 partidos:");
mostrarPartidos(calcularLiga(7));
}
}
Línea 281 ⟶ 341:
 
<pre>
Liga con 8 partidos:
IDA
Ronda 1: 1-8 2-7 3-6 4-5
Línea 289 ⟶ 350:
Ronda 6: 8-7 1-6 2-5 3-4
Ronda 7: 4-8 5-3 6-2 7-1
 
VUELTA
Ronda 1: 8-1 7-2 6-3 5-4
Línea 298 ⟶ 358:
Ronda 6: 7-8 6-1 5-2 4-3
Ronda 7: 8-4 3-5 2-6 1-7
 
Liga con 7 partidos:
IDA
Ronda 1: 2-7 3-6 4-5
Ronda 2: 6-4 7-3 1-2
Ronda 3: 3-1 4-7 5-6
Ronda 4: 7-5 1-4 2-3
Ronda 5: 4-2 5-1 6-7
Ronda 6: 1-6 2-5 3-4
Ronda 7: 5-3 6-2 7-1
VUELTA
Ronda 1: 7-2 6-3 5-4
Ronda 2: 4-6 3-7 2-1
Ronda 3: 1-3 7-4 6-5
Ronda 4: 5-7 4-1 3-2
Ronda 5: 2-4 1-5 7-6
Ronda 6: 6-1 5-2 4-3
Ronda 7: 3-5 2-6 1-7
 
 
</pre>