Spielplan ausfüllen

Ich habe folgendes Problem:
Habe z.B. 6 Mannschaften, die alle gegeneinander spielen sollen, aber nur jeweils einmal (vgl. mit z.B. Fussball-BL nur Hinrunde). Also bei diesem Beispiel 5 Spieltage zu je 3 Spielen. Habe mir folgende Matrix vorgestellt, an der ich auch „von Hand“ probiert habe:

  • | A |

B | # | B |

C | # | # | C |


D | # | # | # | D |

F | # | # | # | # | E |

E | # | # | # | # | # |

Kann mir jemand einen Lösungsansatz geben, wie ich so einen Spielplan, auch für eine beliebige Anzahl von Mannschaften automatisch generieren kann?

Vielleicht hänge ich ja auch nur fest - aber irgendwie komme ich bei diesem Problem nicht weiter. Habe schon eine halbe Nacht lang gegrübelt :wink:

Meine damit natürlich nicht wie man dass Bildchen ausfüllen und anzeigen kann.
Der Spielplan wird nachher in eine Datenbank (mit Felder Spieltag/Heimmannschaft/Asuwärtsmannschaft/…) eingetragen.

Es geht hier nur um allg. Lösungsansatz.

Wenn du willst schicke ich dir
ein C+±Programm mit einem entsprechenden Algorithmus.
Ansonsten theoretisch:
erstmal ein Bild:

x-Achse Tage
y-Achss Spieler

1 2 3 4 5 6 7
1 2 3 4 5 6 7 8
2 1 4 3 6 5 8 7
3 4 1 2 7 8 5 6
4 3 2 1 8 7 6 5
5 6 7 8 1 2 3 4
6 5 8 7 2 1 4 3
7 8 5 6 3 4 1 2
8 7 6 5 4 3 2 1

Wenn du dir das ordentlich aufmalst siehst du, dass du das Ganze in Quadrate einteilen kannst, die einfach jeweils gespiegelt werden.

Viel Erfolg
Steffen

Sehe ich das richtig, das dieser Algorithmus nur funktioniert, wenn die Anzahl der Spieler x eine 2er-Potenz ist?

Sehe ich das richtig, das dieser Algorithmus nur funktioniert,
wenn die Anzahl der Spieler x eine 2er-Potenz ist?

ja stimmt.

Sehe ich das richtig, das dieser Algorithmus nur funktioniert,
wenn die Anzahl der Spieler x eine 2er-Potenz ist?

ups ja das stimmt.

Die Kunst eines richtigen Spielplanes besteht ja nicht darin, dass jeder gegen jeden einmal spielt (das ist ja einfach), sondern dass alle in einer Runde möglichst die gleiche Anzahl Heim- wie Auswärtsspiele haben und auch nicht z.B. 3 Auswärtsspiele in Folge.

Ich hab mal so ein Ding programmiert, für die häufigsten Arten von Spielplänen (4,6,8,10,12,14,16,18,20,24 Teams).

DLL könnte ich schicken, hat aber noch einen Bug beim Spielplan mit 10 Teams und 20 Teams. Könnte Dir aber VB-Code schicken.

Gruss, H.