Avatar billede datateknikeren Nybegynder
14. september 2009 - 11:15 Der er 7 kommentarer og
1 løsning

Array til Jagged Array

Hej

Jeg har et array, OpraabteTal[], som jeg gerne vil have smidt ind i et jagged array, Arrayet[][].  Antallet af arrays dette jagged array skal indeholde bestemmes af brugeren i starten af programmet.
Det er så meningen at jeg vil indsætte tallene i 'OpraabteTal' på første linje i 'Arrayet' og derefter rydde 'OpraabteTal' og indsætte nye numre. Antallet af gange dette kan gøres (indsætte tallene fra OpraabteTal i Arrayet) bestemmes også af antallet af arrays brugeren har bestemt Arrayet[][] til at indeholde.
Men hvordan f*%&#n får jeg smidt et array over i et jagged array?
Avatar billede datateknikeren Nybegynder
14. september 2009 - 12:28 #1
Hov det gik vidst lidt for stærkt! Jeg arbejder med List<> ikke array til variablen OpraabteTal. Altså er spørgsmålet faktisk:
Hvordan sætter jeg værdierne i listen over i det jaggede array?
Avatar billede bitmatic Nybegynder
14. september 2009 - 12:43 #2
Kunne det være noget lignende at det her du leder efter?

List<List<int>> masterList = new List<List<int>>();
for (int i = 0; i < 3; i++)
{
    List<int> opraabteTal = new List<int>();
    opraabteTal.Add(2);
    opraabteTal.Add(4);
    opraabteTal.Add(6);
    opraabteTal.Add(8);

    masterList.Add(opraabteTal);               
}
//masterList indeholder nu 3 lister med opråbter tal....
Avatar billede datateknikeren Nybegynder
16. september 2009 - 13:57 #3
Det er noget lignende det der, det skal bare ikke køre i en 'for' loop som du viser der, for spillene skal spilles individuelt så numrene kommer først efterhånden som spilleren trykker videre.
Jeg er blevet foreslået at lave det samme som du foreslår, men masterlisten skal, istedet for tal, indeholde referencer til de andre lister med tal.
Dog er det en svær nød at knække når man først lige er blevet introduceret for programmering!
Avatar billede bitmatic Nybegynder
16. september 2009 - 14:53 #4
Den masterliste der er i mit eksempel indeholder netop referencer til de andre lister med tal.... masterlisten er en liste af tal-lister.

For-løkken er udelukkende for eksemplets skyld. Du kan ligge tal i listerne på kryds og tværs som du har lyst. Både før og efter du placerer tal-listerne i masterlisten.
Avatar billede datateknikeren Nybegynder
17. september 2009 - 08:40 #5
Ok, mange tak, det må jeg prøve at lege med nu!
Men hvordan giver jeg point nu? Missede jeg en indstilling da jeg oprettede denne post?
Avatar billede datateknikeren Nybegynder
17. september 2009 - 09:16 #6
Nu er jeg så lige stødt på et nyt problem... Hvordan skriver man sådan en list of lists ud? foreach virker ikke som den plejer i dette tilfælde, men den virker jo heller ikke ved fler-dimensionelle arrays. Er det bare en nested for loop der skal bruges til det så?
Avatar billede bitmatic Nybegynder
17. september 2009 - 09:53 #7
Du kan ikke give point fordi jeg ikke har svaret endnu. Jeg har kun lavet kommentarer.
Det her er et svar, så nu burde du kunne komme af med nogle point :-)

Hvis du skal skrive listerne ud kan du bruge følgende kodeeksempler:

//Skriver alle tal ud fra alle lister.
foreach (List<int> list in masterList)
{
    foreach (int i in list)
    {
        Console.WriteLine(i);                   
    }               
}

//Skriver alle tal ud i den første liste.
foreach (int i in masterList[0])
{
    Console.WriteLine(i);               
}
Avatar billede datateknikeren Nybegynder
17. september 2009 - 10:00 #8
<3 tusinde tak!
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