Entwickler-Ecke

C# - Die Sprache - 3Dimensionales Array


KamilCoder - Mi 09.04.14 02:34
Titel: 3Dimensionales Array
Hey! Ich bin gerade beim "Datenfeldern mehrdimensional". Nun meine frage ist ob ich die logic von den program richtig verstanden habe:

Ich glaube oder vermute, dass die for Schleife "k" als erstes los geht von 0 bis 3, dann erhält die Schleife "j" erstamal den Wert 0. Wenn die k Schleife von 0-3 durchgelaufen ist bekommt die Schleife
i den wert 0 dann von vorne bis i den Wert 5 hat. Wenn die Schleife k 5 mal von 0-3 durchgelaufen ist und vertig ist, wird die nächste Gruppe aufgemacht. Also das heist, dass die Schleife j jetzt den Wert 1 bekommt weil 0 schon zu ende(vertig) ist? Wenn er dann mit der 1 Gruppe vertig ist geht er zur der end Gruppe Wert 2. Hoffe das war richtig :D


Der Program Code:


C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
 int[, ,] c = new int[634];
            int i, j, k, MinWert;

            lblFeld.Text = "";
            for (i = 0; i <= c.GetUpperBound(0); i++)
            {
                for (j = 0; j <= c.GetUpperBound(1); j++)
                {
                    lblFeld.Text += "( ";
                    for (k = 0; k <= c.GetUpperBound(2); k++)
                    {
                        c[i, j, k] = r.Next(2031);
                        lblFeld.Text += c[i, j, k] + " ";
                    }
                    lblFeld.Text += ") ";
                }
                lblFeld.Text += "\n";
            }


Moderiert von user profile iconChristian S.: C#-Tags hinzugefügt


Christian S. - Mi 09.04.14 08:56

Hallo und :welcome:!

Also die Schleife k wird für jeden Wert von j komplett neu durchlaufen. Und die Schleife j wird für jeden Wert von i komplett neu durchlaufen. In einer Tabelle sieht das dann so aus (Werte, die nicht da stehen, haben sich zur vorhergehenden Zeile nicht geändert):

Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
i     j     k
0     0     0
            1
            2
            3
      1     0
            1
            2
            3
      2     0
            1
            2
            3
1     0     0
            1
...


Grüße
Christian


KamilCoder - Mi 09.04.14 16:04

Danke für deine pm! Ich glaube ich habs jetzt kapiert :D

Also wenn ich richtig liegen sollte es so aussehen:




C#-Quelltext
1:
2:
3:
4:
     j:0     j:1    j:2
i:0 (0123) (0123) (0123)
i:1 (0123) (0123) (0123)
i:2 (0123) (0123) (0123)


Und so weiter bis i:5


Christian S. - Mi 09.04.14 23:15

Die Schreibweise ist etwas ungewöhnlich, aber für jedes Paar (j,i) werden die k-Werte von 0-3 durchlaufen, das erscheint mir richtig.