11. februar 2006 - 21:26
Der er
5 kommentarer og 1 løsning
Placere hold i grupper
Her er et lille hovedbrud.. Jeg har 5 hold der skal spille alle mod alle. Dem skal jeg have placeret i 5 grupper (altså 10 spil i alt) Hver gruppe må maks have 2 kampe. Een kamp består af 2 hold der møder hinanden. Det samme hold kan ikke spille mere end een gang i een gruppe Psudo kode velkommen - har man en placerings aloritme i C#/java/asp så er dette også velkommen.
Annonceindlæg fra DE-CIX
Edge computing: behandling ved kilden
Edge computing revolutionerer den måde, data behandles på, ved at bringe kapacitet og ydeevne tættere på dér, hvor der er behov for det.
15. april 2025
11. februar 2006 - 23:37
#2
En mulig implementering: using System; namespace e687294 { class Program { private const int antalHold = 5; static void Main(string[] args) { // Definition af de centrale konstanter. int antalPlaceringer = antalHold; if (antalPlaceringer % 2 == 1) antalPlaceringer++; int halvAntalPlaceringer = antalPlaceringer / 2; int[] holdPlacering = new int[antalPlaceringer]; // Placering af holdene til runde 1. for (int holdNr = 0; holdNr < antalHold; holdNr++) holdPlacering[holdNr] = holdNr; if (antalHold < antalPlaceringer) holdPlacering[antalPlaceringer - 1] = -1; // Beregning af de forskellige runder. for (int rundeNr = 0; rundeNr < antalPlaceringer - 1; rundeNr++) { // Udskrivning af rundesn kampe. Console.WriteLine("Runde: {0}", rundeNr + 1); for (int kampNr = 0; kampNr < halvAntalPlaceringer; kampNr++) { Console.WriteLine(" Kamp: {0}", kampNr + 1); if (holdPlacering[kampNr] == -1) Console.WriteLine(" Hold {0} sidder over", holdPlacering[kampNr + halvAntalPlaceringer] + 1); else if (holdPlacering[kampNr + halvAntalPlaceringer] == -1) Console.WriteLine(" Hold {0} sidder over", holdPlacering[kampNr] + 1); else Console.WriteLine(" Hold {0} vs. hold {1}", holdPlacering[kampNr] + 1, holdPlacering[kampNr + halvAntalPlaceringer] + 1); } // Rotation af holdene efter Round-Robin algoritmen int temp = holdPlacering[halvAntalPlaceringer]; holdPlacering[halvAntalPlaceringer] = holdPlacering[1]; for (int placeringNr = 1; placeringNr <= halvAntalPlaceringer - 2; placeringNr++) holdPlacering[placeringNr] = holdPlacering[placeringNr + 1]; holdPlacering[halvAntalPlaceringer - 1] = holdPlacering[antalPlaceringer - 1]; for (int placeringNr = antalPlaceringer - 1; placeringNr >= halvAntalPlaceringer + 1; placeringNr--) holdPlacering[placeringNr] = holdPlacering[placeringNr - 1]; holdPlacering[halvAntalPlaceringer + 1] = temp; } } } }