PDA

Visualizza la versione completa : [C++] Calendario di calcio


GiulioCesare
04-07-2005, 19:21
Salve ragazzi, sto cercando di fare un programma in C++ che crei un
calendario del campionato di calcio, purtroppo la difficoltà sta che nel
creare il calendario bisogna rispettare alcuni vincoli, per esempio le prime
4 del campionato scorso, non possono incontrarsi nelle prime 5 giornate,
oppure i derby non possono essere fatti prima della settima giornata, senza
dimenticare di utilizzare un'opportuna struttura dati per contenere le varie
squadre. Qualcuno sa se esiste un algoritmo specifico, per questo tipo di
problema? Grazie a chi vorrà aiutarmi :)

netarrow
04-07-2005, 21:19
bhè C++ mi sembra logio come struttura dati usare le classi :D

Naturalmente bisognerebbe prima di tutto sfruttare la possibilità di astrazione di un problema perchè SEMPLIFICA IL LAVORO DI MOLTO.

Tanto per iniziare tu hai bisogno di:

Squadre:
per fare ciò che ti serve una squadra dovrà avere come dati incapsulati:
1) posizione dell'anno predente
2) città di casa
Se per caso vorrai riutilizzare questa classe in fururo per altri progetti sara naturalmente estendibile ;-)

Calendario
questo oggetto conterrà l'elenco delle squadre disponibili e l'abinamento squadra1-squadra2, il metodo che si incaricherà di inserire le squadre dovrà fare anche gli opportuni controlli.


Ad esempio potresti fare questo:
Squadra juventus(1, "Torino");
Squadra milan(2, "Milano");
Squadra inter(3, "Milano")
Squadra udinese(4, "Udine");
//ecc...

Dopo questi oggetti io li inserirei in un Vector. Una volta che il calendario ha tutte i dati potrebbe sparare a caso due posizioni del vettore e fare un controllo tipo:

squadra1.getOldPosition() <= 4 && squadra1.getOldPosition() >= 1
&& squadra2.getOldPosition() <= 4 && squadra2.getOldPosition() >= 1

dopo l'altro controllo

squadra1.getCicy() == squadra2.getCity()

Il tutto in un ciclo con un contatore che indica la giornata e uno il numero di abinamenti fatti, se l'estrazione risulta non valida si continua finchè non lo è.

Spero di averti ordinato le idee :)
(se non puoi usare la OOP in C cambia un'pò filosofia e qualche atteggiamento tecnico ma il problema si risolve ugualmente).


Anzzy per i derby il controllo è da fare sulla regione, ma l'impostazione non cambia

:ciauz:

Loading