mehrdimensionales Array
-
Tag die Damen und herren...
und zwar habe ich ein problem mit einem mehrdimensionalen arrays..
wenn ich z.b. ein array
int zahlen[10][5][10]initialisiere, habe ich ein 10*5*10 felder großes feld, soweit klar...
mein kleineres problem, wie stell ich mir ein solches array am besten vor?!
wie ein xyz- koordinatensystem mit 1 er abstufung ?!ok, wenn ich mir das nun so vorstelle, woher weiß ich dann, welche zahl welchem feld zugeordnet ist??
z.b.int zahlen [3][2][2] = {-11, 66, 0, -9044, 5, 6, 1 -7, 9, 10, 101, -23}welche Zahl wurde nun welchem feld zugeordnet, das ist meine eigentliches problem, ich weiß es nicht...
welche regel gilt in diesem fall ?
ich hoffe ihr könnt mir das kurz verraten, ich danke euch
MFG
-
Vorstellen kannst du dir das so, wie du willst und wie du es brauchst. Mal mag es sinnvoll sein, es sich als 3dimensionalen Raum vorzustellen und die Indizes entsprechen den Ortskoordinaten. In diesem Fall ist es egal, ob das erste x, das zweite y und das dritte z oder irgendwie anders rum ist. Du musst das Array nur an jeder Stelle gleich behandeln.

Für andere Zwecke kann es sinnvoller sein, sich das als Baum vorzustellen. Das heißt du betrachtest die erste Dimension als oberste Ebene (ein Baum kann mehrere Wurzeln haben!) und suchst dir dort das richtige aus, dann ist der erste Index fest. Dann steigst du hinab auf die zweite Ebene, suchst dir dort das richtige raus...Wie du dir das mehrdimensionale Array vorstellen sollst, kann also je nach Anwendungszweck völlig unterschiedlich sein.
-
int zahlen [3][2][2] = {-11, 66, 0, -9044, 5, 6, 1, -7, 9, 10, 101, -23};So werden die dann eingetragen:
zahlen[0][0][0] = -11
zahlen[0][0][1] = 66
zahlen[0][1][0] = 0
zahlen[0][1][1] = -9044
zahlen[1][0][0] = 5
zahlen[1][0][1] = 6
zahlen[1][1][0] = 1
zahlen[1][1][1] = -7
zahlen[2][0][0] = 9
zahlen[2][0][1] = 10
zahlen[2][1][0] = 101
zahlen[2][1][1] = -23Nochmal anders sortiert:
zahlen[0][0][0] = -11
zahlen[1][0][0] = 5
zahlen[2][0][0] = 9
zahlen[0][1][0] = 0
zahlen[1][1][0] = 1
zahlen[2][1][0] = 101
zahlen[0][0][1] = 66
zahlen[1][0][1] = 6
zahlen[2][0][1] = 10
zahlen[0][1][1] = -9044
zahlen[1][1][1] = -7
zahlen[2][1][1] = -23Gruß,
DC
-
@ don cartso
ok, vielen danke, das hilft mir weiter.
damit wäre das thema erledigt...