 
View Full Version : ROMPICAPO.....
nickanonimo72
29-12-2005, 17:46
..dovrei creare il calendario dei gironi per un torneo a 24 giocatori...tipo SERIE A di calcio, tanto per intenderci, ma a 24 partecipanti.....
solo ANDATA...quindi 23 giornate di campionato con 12 partite per giornata.....
...basta uno script di poco conto o qualcosa di più complesso......??
...grazie in anticipo a chi potrà aiutarmi.....sono ormai giorni che non ne vengo a capo....
..dovrei creare il calendario dei gironi per un torneo a 24 giocatori...tipo SERIE A di calcio, tanto per intenderci, ma a 24 partecipanti.....
solo ANDATA...quindi 23 giornate di campionato con 12 partite per giornata.....
...basta uno script di poco conto o qualcosa di più complesso......??
...grazie in anticipo a chi potrà aiutarmi.....sono ormai giorni che non ne vengo a capo....
Non dici in che linguaggio (ti faccio un esempio in vb) e dato che servono delle matrici un while oppure un for, farlo in altri linguaggi poi è semplice.
ti faccio uno pseudo code
Crei le matrici:
dim campionato(22,11,1) as string '23 giornate da 12 incontri tra 24 giocatori
dim giocatori(23), temp(23) as string '24 giocatori e una matrice temporanea
dim Errore, aa, bb as integer
'Assegni i nomi dei giocatori o li carichi da file testo come vuoi e sai fare in
'fondo sono solo 24 nomi quindi:
for i=0 to 23
giocatori(i)="giocatore" & trim(str(i))
temp(i)=giocatori(i)
next i
randomize timer
for i=0 to 22 ' giornate
for r=0 to 23:giocatori(r)=temp(r):next r 'ripristina giocatori
for j=0 to 11 'incontri per giornata
for k=0 to 1 'incontro singolo
1 a = Int((24 * Rnd) + 1)-1
if giocatori(a)="" then goto 1
if giocatori(a)<>"" then
campionato(i,j,k)=giocatori(a)
if k=1 then aa=i:bb=j:gosub ControllaSeIncontroDisputato
if Errore=1 then goto 1
giocatori(a)="" 
endif
next k
next j
next i
... fai la stampa
end 'fine
ControllaSeIncontroDisputato:
Errore=0
for ii=0 to aa-1 'giornate
for jj=0 to bb-1 'incontri per giornata
if campionato(i,j,0)=campionato(ii,jj,0) or campionato(i,j,0)=campionato(ii,jj,1) or campionato(i,j,1)=campionato(ii,jj,0) or campionato(i,j,1)=campionato(ii,jj,1) then Errore=1:return
next jj
next ii
return
ecco + o meno dovrebbe essere così...
Edit: a rivederlo dico che non è pseudo code ma un'algoritmo.
Non l'ho testato...
nickanonimo72
29-12-2005, 20:38
okay
...io di programmazione ne capisco ben poco....per questo mi sono rivolto a questo forum....quindi non so dirti quale linguaggio vada meglio....
...non sapevo se bastavano poche righe di codice per risolvere il problema o servisse un programma più complesso.......
....ti ringrazio infinitamente del tempo perso a rispondermi e, se non è chiederti troppo, ti vorrei chiedere come faccio a "lanciare" questo codice.......
....ancora grazie 1000...........
ciao
Nick
ma ti serve l'algoritmo o ti basta il tabellone?
nel secondo caso:
Giornata 1	|1  24	|2   23	|3  22	|4  21	|5  20	|6  19	|7  18	|8  17	|9  16	|10  15	|11  14	|12  13
Giornata 2	|1  23	|22  24	|2  21	|3  20	|4  19	|5  18	|6  17	|7  16	|8  15	|9  14	|10  13	|11  12
Giornata 3	|1  22	|21  23	|20  24	|2  19	|3  18	|4  17	|5  16	|6  15	|7  14	|8  13	|9  12	|10  11
Giornata 4	|1  21	|20  22	|19  23	|18  24	|2  17	|3  16	|4  15	|5  14	|6  13	|7  12	|8  11	|9  10
Giornata 5	|1  20	|19  21	|18  22	|17  23	|16  24	|2  15	|3  14	|4  13	|5  12	|6  11	|7  10	|8  9
Giornata 6	|1  19	|18  20	|17  21	|16  22	|15  23	|14  24	|2  13	|3  12	|4  11	|5  10	|6  9	|7  8
Giornata 7	|1  18	|17  19	|16  20	|15  21	|14  22	|13  23	|12  24	|2  11	|3  10	|4  9	|5  8	|6  7
Giornata 8	|1  17	|16  18	|15  19	|14  20	|13  21	|12  22	|11  23	|10  24	|2  9	|3  8	|4  7	|5  6
Giornata 9	|1  16	|15  17	|14  18	|13  19	|12  20	|11  21	|10  22	|9  23	|8  24	|2  7	|3  6	|4  5
Giornata 10	|1  15	|14  16	|13  17	|12  18	|11  19	|10  20	|9  21	|8  22	|7  23	|6  24	|2  5	|3  4
Giornata 11	|1  14	|13  15	|12  16	|11  17	|10  18	|9  19	|8  20	|7  21	|6  22	|5  23	|4  24	|2  3
Giornata 12	|1  13	|12  14	|11  15	|10  16	|9  17	|8  18	|7  19	|6  20	|5  21	|4  22	|3  23	|2  24
Giornata 13	|1  12	|11  13	|10  14	|9  15	|8  16	|7  17	|6  18	|5  19	|4  20	|3  21	|2  22	|23  24
Giornata 14	|1  11	|10  12	|9  13	|8  14	|7  15	|6  16	|5  17	|4  18	|3  19	|2  20	|21  24	|22  23
Giornata 15	|1  10	|9  11	|8  12	|7  13	|6  14	|5  15	|4  16	|3  17	|2  18	|19  24	|20  23	|21  22
Giornata 16	|1  9	|8  10	|7  11	|6  12	|5  13	|4  14	|3  15	|2  16	|17  24	|18  23	|19  22	|20  21
Giornata 17	|1  8	|7  9	|6  10	|5  11	|4  12	|3  13	|2  14	|15  24	|16  23	|17  22	|18  21	|19  20
Giornata 18	|1  7	|6  8	|5  9	|4  10	|3  11	|2  12	|13  24	|14  23	|15  22	|16  21	|17  20	|18  19
Giornata 19	|1  6	|5  7	|4  8	|3  9	|2  10	|11  24	|12  23	|13  22	|14  21	|15  20	|16  19	|17  18
Giornata 20	|1  5	|4  6	|3  7	|2  8	|9  24	|10  23	|11  22	|12  21	|13  20	|14  19	|15  18	|16  17
Giornata 21	|1  4	|3  5	|2  6	|7  24	|8  23	|9  22	|10  21	|11  20	|12  19	|13  18	|14  17	|15  16
Giornata 22	|1  3	|2  4	|5  24	|6  23	|7  22	|8  21	|9  20	|10  19	|11  18	|12  17	|13  16	|14  15
Giornata 23	|1  2	|3  24	|4  23	|5  22	|6  21	|7  20	|8  19	|9  18	|10  17	|11  16	|12  15	|13  14
okay
...io di programmazione ne capisco ben poco....per questo mi sono rivolto a questo forum....quindi non so dirti quale linguaggio vada meglio....
...non sapevo se bastavano poche righe di codice per risolvere il problema o servisse un programma più complesso.......
....ti ringrazio infinitamente del tempo perso a rispondermi e, se non è chiederti troppo, ti vorrei chiedere come faccio a "lanciare" questo codice.......
....ancora grazie 1000...........
ciao
Nick
Il linguaggio usato è per visual basic 6.0 quindi dovresti installare questo tool per windows98/xp va bene (poi dipende che OS usi).
Nel menu in alto a questo forum c'è il link PROGRAMMAZIONE scegli visual basic e leggilo un pò.
Quando sarai pronto a programmare ne riparliamo.
Se no devi scriverti il calendario con carta e penna, se ti serve subito fai prima in questo modo in fondo sono solo 23 giornate...
ciao
nickanonimo72
29-12-2005, 21:03
ma ti serve l'algoritmo o ti basta il tabellone?
nel secondo caso:
Giornata 1	|1  24	|2   23	|3  22	|4  21	|5  20	|6  19	|7  18	|8  17	|9  16	|10  15	|11  14	|12  13
Giornata 2	|1  23	|22  24	|2  21	|3  20	|4  19	|5  18	|6  17	|7  16	|8  15	|9  14	|10  13	|11  12
Giornata 3	|1  22	|21  23	|20  24	|2  19	|3  18	|4  17	|5  16	|6  15	|7  14	|8  13	|9  12	|10  11
Giornata 4	|1  21	|20  22	|19  23	|18  24	|2  17	|3  16	|4  15	|5  14	|6  13	|7  12	|8  11	|9  10
Giornata 5	|1  20	|19  21	|18  22	|17  23	|16  24	|2  15	|3  14	|4  13	|5  12	|6  11	|7  10	|8  9
Giornata 6	|1  19	|18  20	|17  21	|16  22	|15  23	|14  24	|2  13	|3  12	|4  11	|5  10	|6  9	|7  8
Giornata 7	|1  18	|17  19	|16  20	|15  21	|14  22	|13  23	|12  24	|2  11	|3  10	|4  9	|5  8	|6  7
Giornata 8	|1  17	|16  18	|15  19	|14  20	|13  21	|12  22	|11  23	|10  24	|2  9	|3  8	|4  7	|5  6
Giornata 9	|1  16	|15  17	|14  18	|13  19	|12  20	|11  21	|10  22	|9  23	|8  24	|2  7	|3  6	|4  5
Giornata 10	|1  15	|14  16	|13  17	|12  18	|11  19	|10  20	|9  21	|8  22	|7  23	|6  24	|2  5	|3  4
Giornata 11	|1  14	|13  15	|12  16	|11  17	|10  18	|9  19	|8  20	|7  21	|6  22	|5  23	|4  24	|2  3
Giornata 12	|1  13	|12  14	|11  15	|10  16	|9  17	|8  18	|7  19	|6  20	|5  21	|4  22	|3  23	|2  24
Giornata 13	|1  12	|11  13	|10  14	|9  15	|8  16	|7  17	|6  18	|5  19	|4  20	|3  21	|2  22	|23  24
Giornata 14	|1  11	|10  12	|9  13	|8  14	|7  15	|6  16	|5  17	|4  18	|3  19	|2  20	|21  24	|22  23
Giornata 15	|1  10	|9  11	|8  12	|7  13	|6  14	|5  15	|4  16	|3  17	|2  18	|19  24	|20  23	|21  22
Giornata 16	|1  9	|8  10	|7  11	|6  12	|5  13	|4  14	|3  15	|2  16	|17  24	|18  23	|19  22	|20  21
Giornata 17	|1  8	|7  9	|6  10	|5  11	|4  12	|3  13	|2  14	|15  24	|16  23	|17  22	|18  21	|19  20
Giornata 18	|1  7	|6  8	|5  9	|4  10	|3  11	|2  12	|13  24	|14  23	|15  22	|16  21	|17  20	|18  19
Giornata 19	|1  6	|5  7	|4  8	|3  9	|2  10	|11  24	|12  23	|13  22	|14  21	|15  20	|16  19	|17  18
Giornata 20	|1  5	|4  6	|3  7	|2  8	|9  24	|10  23	|11  22	|12  21	|13  20	|14  19	|15  18	|16  17
Giornata 21	|1  4	|3  5	|2  6	|7  24	|8  23	|9  22	|10  21	|11  20	|12  19	|13  18	|14  17	|15  16
Giornata 22	|1  3	|2  4	|5  24	|6  23	|7  22	|8  21	|9  20	|10  19	|11  18	|12  17	|13  16	|14  15
Giornata 23	|1  2	|3  24	|4  23	|5  22	|6  21	|7  20	|8  19	|9  18	|10  17	|11  16	|12  15	|13  14
mi basta e avanza il tabellone.....e ti ringrazio INFINITAMENTE.......
Nick
mi basta e avanza il tabellone.....e ti ringrazio INFINITAMENTE.......
Nick
ok ciao :)
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.