|
| Genering af kampprogram i Excel (VB) Fra : Spejdermund | Vist : 2051 gange 500 point Dato : 21-02-12 19:44 |
|
Jeg har 30 golfspillere som skal inddeles i 10 hold af 3 spillere, som skal spille 25 runder i alt.
Jeg har brug for noget der automatisk kan generere et kampprogram, således man får flest mulige unikke holdsammensætninger.
| |
|
Jeg tror ikke Exel har sådanne funktioner?
prøv at opstille i 3 rækker
1-10
11-20
21-30
behold første række,
ryk anden række én
og 3. række 2,
prøv at gentage, med henholdvis 1 og 2 ryk, men sørg for at ingen får en tidlige makker igen...
| |
|
På den måde kommer 1 ikke til at spille med f.eks. 2-10.
Det giver også kun 10 unikke kampdage.
Jeg er godt klar Excel ikke har en funktion der kan dette, og det skal nok laves i noget VB.
Men det er her jeg ikke helt selv kan klare det.
| |
|
>men sørg for at ingen får en tidlige makker igen...
Når du kommer til game 6 kan du således ikke øge til 21, allerede brugt, men til, ikke brugt 22
game 1
1 2 3 4 5 6 7 8 9 10
11 12 13 14 15 16 17 18 19 20
21 22 23 24 25 26 27 28 29 30
game 2
1 2 3 4 5 6 7 8 9 10
12 13 14 15 16 17 18 19 20 11
23 24 25 26 27 28 29 30 21 22
game 3
1 2 3 4 5 6 7 8 9 10
13 14 15 16 17 18 19 20 11 12
25 26 27 28 29 30 21 22 23 24
game 4
1 2 3 4 5 6 7 8 9 10
14 15 16 17 18 19 20 11 12 13
27 28 29 30 21 22 23 24 25 26
game 5
1 2 3 4 5 6 7 8 9 10
15 16 17 18 19 20 11 12 13 14
29 30 21 22 23 24 25 26 27 28
game 6
1 2 3 4 5 6 7 8 9 10
16 17 18 19 20 11 12 13 14 15
22 23 24 25 26 27 28 29 30 21
| |
|
Og ja
når der ikke er flere muligheder, uden nye makkere, må du til også at ændre udgangsrækken 1- 10
bare et forslag til hvordan du kommer i gang på...
| |
|
Du vil ikke kunne forhindre de fleste i at skulle spille med den samme modstander 2 gange,
men du må kunne undgå at de samme tre mødes igen.
Der er k(30,3) muligheder = (30*29*28)/(3*2*1)= 4060 muligheder for at udtage 3 ud af 30,
men ingen kan jo være på 2 baner samtidigt...
| |
|
Jeg forsøgte lige en randum betraktning ud fra
=HELTAL(10*SLUMP())
=10+HELTAL(10*SLUMP())
=20+HELTAL(10*SLUMP())
men fik
8 1 8 7 2 8 5 7 0 7
19 12 13 12 12 17 11 18 17 10
26 22 25 26 20 27 25 23 27 28
| |
|
Der skal lægges 1 til de angivne formler,
men så skal der sorteres både for tal og kombinations gentagelser,
ikke en farbar vej i Excel...
Er der ikke sports klubber du kan kontakte?
| |
|
Prøv at spørge en golfklub eller en bridgeklub, hvilket program de bruger.
| |
|
1 2 3 4 5 6 7 8 9 10
11 12 13 14 15 16 17 18 19 20
21 22 23 24 25 26 27 28 29 30
30 1 2 3 4 5 6 7 8 9
12 13 14 15 16 17 18 19 20 10
11 29 21 22 23 24 25 26 27 28
28 30 1 2 3 4 5 6 7 8
13 14 15 16 17 18 19 20 10 9
12 27 11 29 21 22 23 24 25 26
26 28 30 1 2 3 4 5 6 7
14 15 16 17 18 19 20 10 9 8
13 25 12 27 11 29 21 22 23 24
24 26 28 30 1 2 3 4 5 6
15 16 17 18 19 20 10 9 8 7
14 23 13 25 12 27 11 29 21 22
22 24 26 28 30 1 2 3 4 5
16 17 18 19 20 10 9 8 7 6
15 21 14 23 13 25 12 27 11 29
| |
|
Ovenstående er de første 6 turneringer i et forbedret forslag hvor også række 1 rykkes +1
række 2 rykkes -1 og række 3 +2, de overskydende rykkes ned, den sidste overskydende
i 3. række rykkes op på plads 1, den næstsidste som nummer 2 i 3 række.
Herved passerer alle alle og også de første 10 spiller mod hinanden.
Ved opbygningen.
i række 1 n+1=n+1, 1 må indtastes
i række 2 n = n+1-1 begynd fra højre, 20 må indtastes
i række 3 n+1=n+2, 21 må indtastes
og så må man manuelt indtaste ned og oprygningerne...
Hvis der til sidst skulle være gengangere, lav alle 30 efter den metode...
og kasser
| |
|
Teksten faldt ud igen.
og kasser de 5 der evt. har gengangere.
God fornøjelse
| |
|
Her har du 6 mere fra 7. til 12. spille runde, så er du næsten halv vejs,
og foreløbig tror jeg ikke der er gengangere?
29 22 24 26 28 30 1 2 3 4
17 18 19 20 10 9 8 7 6 5
16 11 15 21 14 23 13 25 12 27
27 29 22 24 26 28 30 1 2 3
18 19 20 10 9 8 7 6 5 4
17 12 16 11 15 21 14 23 13 25
25 27 29 22 24 26 28 30 1 2
19 20 10 9 8 7 6 5 4 3
18 13 17 12 16 11 15 21 14 23
23 25 27 29 22 24 26 28 30 1
20 10 9 8 7 6 5 4 3 2
19 14 18 13 17 12 16 11 15 21
21 23 25 27 29 22 24 26 28 30
10 9 8 7 6 5 4 3 2 1
20 15 19 14 18 13 17 12 16 11
11 21 23 25 27 29 22 24 26 28
9 8 7 6 5 4 3 2 1 30
10 16 20 15 19 14 18 13 17 12
| |
|
Inden jeg bruger mere tid,
hvad siger du til mit forbedrede forskydnings forslag?
eller er du kommet videre med mit ander forslag??
>Er der ikke sports klubber du kan kontakte?
| |
|
Hej Svend,
Jeg er ved at kode et løsning i visual basic, som jeg kan køre i excel. Da jeg også gerne vil sikre mig, at f.eks. nr. 1 & 2 ikke møder hinanden 4 gange i løbet at de 25 runder.
Jeg er dog ikke færdig endnu, men det ser efterhånden fornuftigt ud.
| |
|
Husk tallene er forskudt i kandu gengivelsen
> nr. 1 & 2 ikke møder hinanden 4 gange i løbet at de 25 runder.
Her er gengivet spiller 1 og 2 i de første 12 runder, kun 1, den samme gentagelse:
1 1 1 1 1 1 1 1 1 1 30 26
11 13 15 17 19 10 8 6 4 2 1 1
21 29 11 27 12 25 13 23 14 21 11 17
2 2 2 2 2 2 2 2 2 1 28 24
12 14 16 18 20 9 7 5 3 2 2 2
22 21 29 11 27 12 25 13 23 21 16 13
| |
|
Med den cykliske forskydning er der ikke mulighed for at 1 møder 2 hele 4 gange...
Og som sagt kan forskydningen fortsætte hele 30 runder,
og du kan fravælge de 5 med flest gentagelser...
Men held og lykke med din programmering, helt unødvendig?
og lykkes det ikke, kan du jo vende tilbage til min forskydningsmodel...
Hilsen Svend
| |
|
jeg har prøvet at følge spiller 1 og 2
a b c d e f g h i j
1 2
a b c d e f g h i j
1 2
a b c d e f g h i j
1 2
a b c d e f g h i j
1 2
a b c d e f g h i j
1 2
a b c d e f g h i j
1 2
a b c d e f g h i j
1 2
a b c d e f g h i j
1 2
a b c d e f g h i j
1 2
a b c d e f g h i j
1
2
a b c d e f g h i j
2 1
a b c d e f g h i j
2 1
a b c d e f g h i j
2 1
a b c d e f g h i j
2 1
a b c d e f g h i j
2 1
a b c d e f g h i j
2 1
a b c d e f g h i j
2 1
a b c d e f g h i j
2 1
a b c d e f g h i j
2 1
a b c d e f g h i j
1
2
a b c d e f g h i j
1 2
a b c d e f g h i j
1 2
a b c d e f g h i j
1 2
a b c d e f g h i j
1 2
a b c d e f g h i j
2 1
a b c d e f g h i j
1 2
a b c d e f g h i j
1 2
a b c d e f g h i j
1 2
a b c d e f g h i j
1 2
a b c d e f g h i j
| |
|
De møder kun hinanden 2 gange, ikke 4 selv i 30 runder, og det er normalt,
af de 30 spillere er der 29 modstandere, men i 25 runder 2 gange 24 modstandere,
så flertallet vil man måtte møde to gange...
i 30 runder vil man optimalt møde alle to gange, så min forskydningmodel er nogenlunde korrekt?
| |
|
Det ser meget godt ud, det du har lavet. Men jeg kan nok bare ikke gennemskue, om alle kommer til at møde flest muligt forskellige modstandere på deres hold.
Men jeg må prøve at køre din model færdig i aften, og så se på resultatet.
| |
| Du har følgende muligheder | |
|
Dette spørgsmål er blevet annulleret, det er derfor ikke muligt for at tilføje flere kommentarer.
| |
|
|