16. maj 2012 - 14:21Der er
8 kommentarer og 1 løsning
alle mulige kombinationer af N tal
Hej. Jeg er igang med et lave et windows.form program i C# og har brug for at kunne komme frem til alle mulige kombinationer af N tal, hvor N er variabel.
som input har jeg: int[] nodes //indeholder alle tal
og som output vil jeg gerne have: list<int[]> kombinations //indeholder en liste med kombinationer af nodes
Jeg har læst mig frem til at det ville være smart at kunne lave sådan et stykke kode med rekursion, men her er jeg ikke så stærk. Nedenfor har jeg copypasted min fejlagtige kode som inspiration:
List<int[]> kombinations = new List<int[]>();
private void Combine(int[] Nodes, int[] prefix, int tæller) { foreach (int test in Nodes) { string tjek = "notfound";
for (int i = 0; i < tæller; i++) { if (test == prefix[i]) { tjek = "found"; } }
Tak for den varme velkomst og tak for tips. Når der er noget kode som jeg ikke helt har styr på har jeg det med at få koden til at se mere overskuelig ud og det gør jeg bl.a. ved at lave de løsninger som du påpeger :) Jeg vil følge dit råd og lave et par justeringer når jeg forhåbentlig får koden til at fungere.
Er der andre som har et forslag til en løsning? Jeg så nogle tidligere lignende problemer som en vis arne_v havde løsninger på. Er han stadig aktiv på eksperten.dk?
Hej arne_v og tak for dit svar. Af hvad jeg kan se på din kode ser det ud som om du skriver alle resultater ud i consollen. Da jeg har med windows.form at gøre og senere skal bruge alle kombinationerne til videre udregning skal jeg gerne have dem gemt i en liste istedet for at gemme resultaterne i consollen. Resultatet kunne gemmmes i følgende:
List<int[]> kombinations = new List<int[]>();
Er det muligt at modificere dit eksempel så man ender op med en liste med int[] kombinationer?
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.