|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
|
Algoritmo per calendario tornei!!!
Ragazzi il moi problema è il seguente...devo fare un programma che mi generi un calendario per un torneo.
Esempio: Giocatori: A, B, C, D Calendario: 1° Turno: A - B ed C - D 2° Turno: A - C ed B - D 3° Turno: A - D ed B - C Naturalmente non ci possono essere ripetizioni di partite, per cui un eventuale B - A oppure un C - B non sono accettati!!! Fino a qui tutto semplice...ma se io introduco anche i giocatori E, F, G, H diventa più complesso!!! Io ho fatto un programma solo che superato i 20 giocatori diventa lento e non riesce più a trovare le coppie!! Avete qlc idea a proposito...è molto importante!!! Allego il mio programma cosi potete dare un okkiata, non è fatto troppo funzionale, ma a me serve che mi generi solo il calendario!!! Ciaoooooooooooooooooooooooooooooo PS: come idea mi è venuto in mente che potrei generare tutte le coppie possibili in un vettore, dopo di che combinarle fra di loro...non so se è un buon metodo, certo però mi sembra migliore di quello utilizzato nel progetto (almeno credo) |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
|
Proprio non avete idee a proposito ???
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Jun 2002
Città: Firenze
Messaggi: 630
|
Se ti serve un metodo per generare tutte le possibili coppie tra N giocatori, un metodo è questo (in pseudo-C):
giocatore[] è un array di N stringhe. for (i=0;i<N-1;i++) { for (j=i+1;j<N;j++) { printf("\ncoppia = %s - %s",giocatore[i],giocatore[j]) } }
__________________
---> Lombardp CSS Certified Expert (Master Level) at Experts-Exchange Proud user of LITHIUM forum : CPU technology Webmaster of SEVEN-SEGMENTS : Elettronica per modellismo |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Sep 2000
Messaggi: 886
|
Come te la cavi con lo spagnolo? Io avevo trovato giusto un mesetto fa questo per un amico:
http://www.lsi.upc.es/~iea/transpas/3_divide/tsld057.htm non so se è quello che serve (non era il suo caso) magari funziona. dovrebbe essere cmq abbastanza comprensibile.
__________________
1986/2008 - 22 anni di rabbia cancellati in un giorno. Adesso passeranno altri 22 anni.. |
|
|
|
|
|
#5 | |
|
Bannato
Iscritto dal: Jan 2001
Messaggi: 1976
|
Quote:
Con codici compilati puoi ridurre il tempo a un decimo e scalare sul clock della macchina. Interessa ? |
|
|
|
|
|
|
#6 | |
|
Senior Member
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
|
Quote:
|
|
|
|
|
|
|
#7 |
|
Bannato
Iscritto dal: Jan 2001
Messaggi: 1976
|
ah, dimenticavo ... 19 righe di codice[/siz]
|
|
|
|
|
|
#8 | |
|
Bannato
Iscritto dal: Jan 2001
Messaggi: 1976
|
Quote:
adesso devo andare a mettere la batteria nel trattorino .... bruumm, brummm (... cuore di papà). |
|
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
|
Grazie mille...è veramente molto imporatante
|
|
|
|
|
|
#10 | |
|
Junior Member
Iscritto dal: Apr 2003
Città: Prov. Brescia
Messaggi: 27
|
Quote:
In sole 19 righe? Incredibile... Davvero molto interessante.... |
|
|
|
|
|
|
#11 |
|
Senior Member
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
|
Ma sei sicuro che faccia il calendario e non solo le combinazioni o le disposizioni del giocatori???
voglio troppoo vederlo |
|
|
|
|
|
#12 |
|
Senior Member
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
|
UP....ricordati
|
|
|
|
|
|
#13 |
|
Registered User
Iscritto dal: Dec 2001
Messaggi: 890
|
interessato anche io!
|
|
|
|
|
|
#14 | |
|
Senior Member
Iscritto dal: Oct 2001
Città: Dublino
Messaggi: 878
|
Quote:
|
|
|
|
|
|
|
#15 |
|
Bannato
Iscritto dal: Jan 2001
Messaggi: 1976
|
[/siz]
eccovi il supertorneificio[/siz] ! Runnate e divertitevi tutti. |
|
|
|
|
|
#16 |
|
Bannato
Iscritto dal: Jan 2001
Messaggi: 1976
|
... e naturalmente, come promesso, il codice main in sole 19 righe !
Lo si puo avere anche più incapsulato per l'uso come subroutine autonoma, con doppio carburatore, vernice metallizzata, ABS e controscappellamento destro e sinistro. Codice:
Sub aTorneo() Call LeggiDati 'legge N, ridimensiona Nome(), Part() e legge Nome() For k = 0 To N2 - 1 iPart = 1 iMax = Int(N2 - 1 - k / 2) For i = 0 To iMax j = i + k Part(iPart, 1, 2) = N - j: Part(iPart, 1, 1) = i + 1 Part(iPart, 2, 2) = N - i: Part(iPart, 2, 1) = j + 1: iPart = iPart + 1 Next i i0 = N2 + k - 1 For j = 0 To N2 - 2 - iMax i = -j + i0 Part(iPart, 1, 2) = N - j: Part(iPart, 1, 1) = i + 1 Part(iPart, 2, 2) = N - i: Part(iPart, 2, 1) = j + 1: iPart = iPart + 1 Next j Call StampaPart(k) 'stampa le partite a coppie "simmetriche" Next k End Sub |
|
|
|
|
|
#17 |
|
Bannato
Iscritto dal: Jan 2001
Messaggi: 1976
|
poi se interessa, due parole sull'algoritmo.
|
|
|
|
|
|
#18 | |
|
Senior Member
Iscritto dal: Oct 2001
Città: Dublino
Messaggi: 878
|
Quote:
|
|
|
|
|
|
|
#19 |
|
Senior Member
Iscritto dal: Sep 2000
Messaggi: 886
|
--poi se interessa, due parole sull'algoritmo.
Boh...a me sembra fatto decisamente bene, c:\ongrtlns! due parole, prima che me lo vada a guardare (ora non posso) secondo me sono utili, così risparmio tempo. Thx.
__________________
1986/2008 - 22 anni di rabbia cancellati in un giorno. Adesso passeranno altri 22 anni.. |
|
|
|
|
|
#20 |
|
Senior Member
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
|
Come prima impressione sembra bella
Ora analizzo!! Cmq le righe dai sono un po' di +, hai messo + istruzioni suella stessa riga |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 18:59.


















