Hallo,
ich hab da einen Ansatz, den du hernehmen könntest:
struct list_node {
int data;
struct list_node *next;
};
Mithilfe dieses Konstructs kannst du dir einfach verkettete Listen erstellen. Du hältst den Pointer auf den ersten Knoten und der Rest steckt in der Liste. Und wie hilft das?
Du erstellst somit eine Liste aller Mannschaften, die überhaupt spielen sollen. Durch diese läufst du mit einer Schleife. Und innerhalb dieser steht eine weitere Schleife, die ebenfalls durch die Liste läuft. Wenn der Listenknoten der äußeren Schleife nicht dem der Inneren entspricht, spielen die Mannschaften miteinander.
In dem du die Listen der äußeren, inneren oder beider Schleifen variierst, kannst du dir Spielpläne erstellen.
gegrüßt!