Avatar billede glenn007 Nybegynder
11. august 2009 - 20:04 Der er 7 kommentarer

udskrive kombinationer

hejsa,

er der nogle kvikke hoveder der ved hvordan man på en simpel måde kan udskrive alle kombinationer der kan laves ud fra en liste med farve koder

min liste med koderne ser således ud

liste1 =  "a_12 , b_12, c_12, d_12,"
liste2 =  "a_10 , b_10, c_10, d_10,"
liste3 =  "a_56 , b_56, c_56, d_56,"
  jeg prøver at lade den tage en kode fra liste et og en fra liste 2 og 3 og sætte det i database og så skal den tage og lave en ny sammensætning og osv. og igen må være ens.

kan dette lade sig gøre
Avatar billede arne_v Ekspert
11. august 2009 - 21:16 #1
Du vil have alle kombinationer med en fra liste1, en fra liste2 og en fra liste3?

3 for loekker boer kunne klare det!
Avatar billede glenn007 Nybegynder
12. august 2009 - 20:37 #2
noget i denne stil ?

string[] liste1;
string[] liste2;
string[] liste3;
liste1 =  new string[] { "a_12,b_12,c_12,d_12" };
liste2 =  new string[] { "a_10,b_10,c_10,d_10" };
liste3 =  new string[] { "a_8,b_8,c_8,d_8" };


            string word1 = "";
            string word2 = "";
            string word3 = "";
foreach (string a in liste1)
{ word1= a;
    foreach (string b in liste2)
{
    word2= b;
    foreach (string c in liste3)
{
    word3= c;
    string output = "" + word1 + "," + word2 + "," + word3;

    output = string.Join(",", output.Split(',').OrderByDescending(v => int.Parse(v.Substring(2))).ToArray());
    Console.WriteLine(output);

}
}
}





jeg synes ikke rigtigt det virker som det skal .. for det første når jeg slet ikke at se den skrive så meget for mit consol vindue lukker lynhurtigt ned. for det andet tror ejg ikke den skriver alle kombinationerne... der burde jo være temmeligt mange den skal udskrive ... kan i se hvad der er lavet forkert.
Avatar billede glenn007 Nybegynder
12. august 2009 - 20:47 #3
har løst det med at mit consol lukker ned. men kan se den kun skriver alle tal ud en gang... først liste 1 og derefter de to andre lister den blander dem ikke ... ifølge mine beregninger skulle den gerne udskrive rigtigt mange linier.
Avatar billede arne_v Ekspert
12. august 2009 - 21:21 #4
Simplere:

using System;

namespace E
{
    public class Program
    {
        public static void Main(string[] args)
        {
            string liste1 =  "a_12 , b_12, c_12, d_12";
            string liste2 =  "a_10 , b_10, c_10, d_10";
            string liste3 =  "a_56 , b_56, c_56, d_56";
            foreach(string a in liste1.Split(','))
            {
                foreach(string b in liste2.Split(','))
                {
                    foreach(string c in liste3.Split(','))
                    {
                        Console.WriteLine(a.Trim() + " " + b.Trim() + " " + c.Trim());
                    }
                }
            }
            Console.ReadKey();
        }
    }
}
Avatar billede glenn007 Nybegynder
13. august 2009 - 19:31 #5
hmmm den udskriver 64 poster. er det mig der regner forkert. jeg troede der ville komme mange flere når man har 12 forskellige tal
Avatar billede arne_v Ekspert
13. august 2009 - 19:47 #6
Hvis der er 4 muligheder for den foerste, 4 for den anden og 4 for den tredie er der kun 4 x 4 x 4 = 64 muligheder.

Hvis problemet er anderledes maa du forklare hvordan det er anderledes.
Avatar billede arne_v Ekspert
13. september 2009 - 02:48 #7
OK ?
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester