• Viernes 8 de Noviembre de 2024, 16:32

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Temas - Valten

Páginas: [1]
1
Diseño de Algoritmos / ¿cómo Generar Un Calendario Deportivo?
« en: Sábado 5 de Mayo de 2007, 11:17 »
Buenos días, no he encontrado nada sobre el tema, y sé que no se hace los deberes a la gente (cosa que me parece genial por otra parte).

Por eso lo que pido es nada más alguna pista para resolver un problemilla que me trae de cabeza. Me explico:

Tengo una liga con dieciséis equipos cuyos nombres almaceno en un vector de strings.

Como en esta liga no hay ida y vuelta, sólo necesito generar quince jornadas con ocho partidos cada una. Después he de leer los resultados, calcular la clasificación atendiendo a una serie de condiciones y presentarlo en pantalla. Todo esto no es problema, pero lo de generar el calendario y colocar cada jornada sin que el mismo equipo juegue dos veces me mata.

Tengo pensado utilizar una matriz bidimensional con 15 columnas y 8 filas en la que cada casilla sea una estructura con los dos equipos que juegan ese partido y el resultado del mismo, pero ¿Cómo relleno los equipos de forma eficaz, sencilla, o de cualquier forma?

Está claro, creo, que tengo que generar combinaciones de equipos y generar los partidos no me parece difícil con dos bucles anidados, algo así:

Código: Text
  1. for (local=1;local<15;local++)
  2.    for (visitante=local+1;visitante<16;visitante++)
  3.  
  4.  

Con esto, local y visitante me dan las combinaciones correspondientes a los 120 partidos de la temporada, pero ¿cómo los reparto en las distintas jornadas?

Agradecería cualquier ayuda o pista sobre cómo hacerlo porque me está matando. Todo lo demás lo tengo ya encarrilado en la cabeza, pero con el calendario no puedo. Si hubiera estado en Pascal, probablemente utilizando recursividad y conjuntos podría hacer algo, pero en C no sé qué hacer.

Estoy utilizando el Dev-C++ en caso de que pudiera influir. Muchas gracias por cualquier pista que me podáis dar. Entiendo que es un problema habitual, pero no recuerdo haberme enfrentado con él nunca y me tiene despistado.

Gracias otra vez. Un saludo desde Santander (España)

Páginas: [1]