es geht weiter mit einem Teilergebnis. Anbei eine Beispieldatei die zeigt wie weit ich bin. Die Makros sind noch in der Entwicklungsphase. Auf die InputBox habe ich zur Zeit verzichtet und laden den Wert Team Anzahl direkt aus Zelle "M1". Die im Spielfeld rot markierten "x" stimmen nicht, dienten mir als Test zum Erstellen der Rundenliste. Wie die Listen in der Praxis aussehen sollen können wir noch festlegen. Ich weiss ja nicht ob sie gedruckt werden sollen?
Zur Zeit hapert mein Makro an der Runden Auswertung mit "x". Eine einfach Makro Variante mit Prüfung auf doppelte reicht nicht aus, weil die derzeitige Auswertung sich zum Schluss an auftretenden doppelt Ergebnissen festfaehrt. Ich muss mir also eine andere Variante ausdenken. Wollte aber die derzeitige Arbeit schon mal vorstellen
Ich habe direkt noch Fragen zu dem was mir beim Programmieren aufgefallen ist. Beim Beispiel mit 5 Teams spielen zwei Teams gegeneinander, auch bei 4 Teams. Bei 7 Teams müssten drei spielen, bei 9 Teams 4 spielen. Ist das so richtig?? Bei 6 + 8 muss jeweils ein Team aussetzen. Wenn jai welches Team soll aussetzen? Ist das egal?? Ich überlege ob ich einen Zufallsgenerator einsetzen soll? Leider gibt es dazu keine passende Lösung im Internet!
wenn immer zwei Mannschaften gegeneinander spielen, muss doch bei einer ungeraden Teamzahl
jeweils ein Team pausieren, oder nicht ?
Du schreibst bei 6 und 8 Mannschaften muss eine aussetzen.
Für die Generierung von Deinen Spielpaarungen google mal nach "Permutation" oder "Ziehen ohne Zurücklegen".
05.10.2016, 07:56 (Dieser Beitrag wurde zuletzt bearbeitet: 05.10.2016, 07:56 von mumbrumse.)
Hallo Ihr zwei,
nochmal danke das sich bei meinem Problem so viele Gedanken machen.
Richtig bei 5 Teams spielen immer 2 Teams gegeneinander und eins muss aussetzen. --> Daher werden 5 Runden benötigt um alle Kombinationen durchzuspielen
Bei 4 Teams spielen auch immer 2 Teams gegeneinander und keiner muss aussetzen. --> Hier werden nur 3 Runden benötigt
Also bei einer ungeraden Anzahl an Teams muss immer eins aussetzen.
Bei einer geraden Anzahl muss kein Team aussetzen.
Was ich schon herausgefunden habe:
- Es gibt immer nur eine Lösung
- Die Runden können logischer Weise getauscht werden bzw. Runde 1 kann auch Runde x sein, aber die Teams die gegeneinander spielen sind in einer Runde fix (hab das schon versucht).
Würde man nicht die optimale Belegung der Spiele pro Runde hin bekommen, so hätte man mehr Runden zu spielen, als das Optimum, was leider nicht gewollt ist.
Im meinem Tool sind die Paarungen schon hinterlegt bzw. ermittelt.
Ich muss nur hinter jeder Paarung schreiben, in welcher Gruppe diese zu spielen hat und ich habe nicht gedacht, dass dieses Problem so schwer ist.
Mein Ansatz:
Die erste Paarung kann somit immer auf Runde 1 gesetzt werden und weiteren Paarungen auch auf 1, solange diese nicht bereits in Runde 1 auftauchen.
Tauchen diese in Runde 1 bereits auf, prüfen ob diese Paarung in Runde 2 spielen, wenn nicht dann auf Runde 2 setzen, spielen Sie auch in Runde 2 bzw. eins von beiden Teams, dann auf Runde 3 setzen.... usw.
Diese Logik ist zwar einfach aber hier gibt es das Problem im Ergebnis, dass mehr Runden gespielt werden als notwendig....
Das liegt daran, dass in einer Runde entsprechende Paarungen spielen müssen, damit es perfekt aufgeht.
@ IchbinIch ich habe deinen Tipp befolgt und mal nach "Putation" und "Ziehen ohne Zürücklegen" gegoogelt. Oh, oh ...
Ich gebe als einfacher Elektroniker mit Volksschulbildung freimütig zu das mir jedes Wissen fehlt das zu verstehen.
Ziehen ohne Zurücklegen X ist hypergeometrisch verteiltZiehen mit Zurücklegen X ist binomial verteilt Urnenmodell Ziehen ohne Zurücklegen, Beispiel, Kugeln, Stochastik | Mathe by Daniel Jung
auf Deutsch: Mathematische Grundlagen für Mathe Abi, Oberstufe oder Abitur. Ich habe nur Volkssschule Wissen!! Ich habe mir das Video angesehen, und erkannt wie schwierig diese höhere Mathematik ist. Nichts für mich! Dafür bin ich zu alt.
@Mumse schaut man sich den Trhead "Tische Verteilung" an fehlte mir hier auch mathematisches Wissen. Ich benutze dann aber die übliche "ich gehe zu Fuss" Methode und versuche mit normalem logischen Denken eine Lösung zu finden. Das dauert seine Zeit, aber ich war damit schon oft erfolgreich.
Hmmm vielleicht findest du ja noch eine Lösung. Normalerweise bin ich auch nicht so im Forum aktiv aber da ich mit dem Problem nicht alleine sein wollte, habe ich mich mal hier an die Cracks gewendet :).
Bin auch kein super VBA Programmierer immer Stück für Stück, aber dieses Stück hmmm.
Wenn ich die Logik hätte das ich es nur noch programmiertechnisch umsetzen müsste :)
anbei mal ein Wurf zur Ermittlung der Spielpaarungen.
Vielleicht kann man das als Grundlage für die weitere Arbeit nutzen? Ein paar Dinge kann man sicherlich noch verbessern, aber es ist spät geworden :32:.
@ Gast
Ich wollte Dich nicht entmutigen sondern Dir einen Schubs in die richtige Richtung geben. Manchmal hilft es, dachte ich, wenn man einen Tipp bekommt
wonach man googeln sollte.
IchBinICh das ist gut gemacht :), jedoch bin ich bis zu diesem Punkt auch schon gekommen :/.
Jetzt muss halt nach der Auswertung (Bildung der Paare), eine Spalte weiter, durch das drücken eines Knopfes die Runden hinter die Paarungen geschrieben werden.
Wenn das geht bin ich fast mit meinem Turnier Tool fertig.
Ich habe schon weiter gearbeitet nur dieses Mittelstück fehlt halt noch :)
Huhu,
Gucke es mir gleich an. Aber es sollen in jede Runde so viele Paarungen wie möglich spielen, nicht nur zwei.
Bei mir im Code spiele ich die Runden nacheinander durch. Wenn 20 spiele in runde 1 wären und ich 5 Spielfelder zur Verfügung habe, so müssen alle Felder 4 mal gefüllt werden.
Wenn die Paarungen eine rundennummer bekommen hab ich vom Code den Rest auch schon gelöst.
Das war meine implizierte Frage
Woher weiß man wieviel Spielfelder zur Verfügung stehen? Um das möglichst flexibel zu gestalten, müsste man das irgendwo hinschreiben und im Code darauf zugreifen.