3d arrays
-
ich meine natürlich den inhalt..
-
danielmorgels schrieb:
ich meine natürlich den inhalt..
ok
dann nimm einen schreibblock, am besten karriert.
mach auf jede seite eine 10x10 2D-matrix, und das auf 10 seiten.
nun kannste durch Deinen 3D array blättern..ich hoffe ich konnte dir helfen

-
bla[2][2][2]={{{1, 2},{3, 4}},{{1, 2},{3, 4}}};
-
1310-logik hat mir sehr weitergeholfen

nun ja das hilft schon mehr:
bla[2][2][2]={{{1, 2},{3, 4}},{{1, 2},{3, 4}}};
könntest du das noch etwas veranschaulichen? daher: was ist die erste dimension usw
-
Is schwer zu erklären.
link hier: http://www.pronix.de/pronix-730.html
-
Ein 1D-Array: 1, 1, 1, 1
Ein 2D-Array: 1, 1, 1, 1
1, 1, 1, 1Ein 3S-Array: 1, 1, 1, 1
1, 1, 1, 1
1, 1, 1, 1
-
Einen Eindimensionalen-Array stellt man sich am besten als eine Reihe von werten vor. Alle Werte sind hierbei durchnummeriert um angesprochen zu werden
Einen Zweidimensionalen-Array kann man sich gut als ein Schachbrett vorstellen, auch hier spricht man die einzelnen Felder über 2 Schlüssel an z.B. F5
Ein Dreidimensionaler-Array Muss man sihc wie der Name schon sagt dreidimensional vorstellen. Also eine Art Dreidimensionales Gitter, indem man die werte wie punkte in diesem Gitter anspricht. Da hat man dann 3 Werte: einen x wert z.B. 3, einen y Wert (123) und einen z wert (54).
Jede weitere diemension ist antürlich schwer vorstellbar, da unser verstand diese nicht richtig fassen kann. Ich behelf mir da mit 2 Tricks, ich wende erst garkeine 4-dimensionalen arrays an oder ich stelle mir jedes Feld als einen weiteren array vor (so wie der computer auch)
-
danielmorgels schrieb:
1310-logik hat mir sehr weitergeholfen

nun ja das hilft schon mehr:
bla[2][2][2]={{{1, 2},{3, 4}},{{1, 2},{3, 4}}};
könntest du das noch etwas veranschaulichen? daher: was ist die erste dimension usw
tja sorry, Du hast Dich nicht grad klar ausgedrückt..
die innersten klammern sind dann wohl die höchste dimension, also die 3.
und dann von innen nach aussen..
ein 4d würd ich als folge von 3d gittern am bildschirm darstellen, als filmchen, also ähnlich des bsp mit dem block, um ein 3d auf papier zu bringen. danach wirds aber abstrakt.
-
Stimmt 4D kann man sich noch wie das 3D vorstellen nur noch mit einer zeitachse.
Das heißt man stellt sich einen Punkt im Raum (x,y,z) zu einer bestimmten zeit vor.Aber ich lgaub dann ist wirklich schluss. Und mehr als 3d bracuht man in der regel nciht.
-
wieso denn abstrakt, eine neue dimension bedeutet doch nur, dass eine eigenschaft (bzw parameter) eines objektes hinzukommt - wie dessen farbe, größe usw.
-
hmmm
ich dachte dimension hat was mit ausdehnung zu tun.
hab in physik mal gehört, das es bis zur 10. dimension definitionen gibt.. (ich glaub das war bei den string theorien)
weiss da jemand was drüber?
-
Hier mal ein Beispiel, wie man typedef
in diesem Zusammenhang einsetzt.int main(){ typedef double(*pmyarray)[20][30]; pmyarray array1 = new double [10][20][30]; array1[4][13][25] = 4711.4711; double dd = array1[4][13][25]; delete[] array1; return 0; }
-
bei den 2d arrays mach ichs auch mit dem schachbrettprinzip:
string brett[8][8] = { 1,2,3,4,5,6,7,8
a,b,c,d......aber ein 3dimensionales kanan ich mir auf einer 2dimensionalen fläche nicht vorstellen. daher müssten in einer 1:1 schreibweiße die werte noch nach hinten gehen.. nun weiß ich aber nicht wie man das 2dimensional darstellen kann.
bei dem ist es ja so:
2dimension
| | | | | | | |
string brett[8][8] = { 1,2,3,4,5,6,7,8 <---erste dimension
a,b,c,d......nun verwirrt mich diese schreibweise:
bla[2][2][2]={{{1, 2},{3, 4}},{{1, 2},{3, 4}}};und da bräuchte ich eine kleine erklärung.. vielleicht eine wo man das mit x,y und z-achse beschreibt. daher: 1 = x0,y1,z0
-
dann nimm einen schreibblock, am besten karriert.
mach auf jede seite eine 10x10 2D-matrix, und das auf 10 seiten.
nun kannste durch Deinen 3D array blättern..Ich finde das keine schlechte Erklärung zum Vorstellen.
-
Du must wissen im Speicher der Addressraum ist immer eindimesional.
Dein Schachbrett b[8][8] belegt eindimensional 8*8 = 64 Felder.
Oder anders ausgedrückt 8 Blöcke a 8 Felder.
Mit der Matrix b[8][8] kannst Du jedes dieser Felder ansprechen
Beachten mußt Du, dass wenn man dieses 2D Feld benutzt nur
die Indexe 0 1 2 3 4 5 6 7 zur Verfügung stehen.
Also b[8][3] = 5; wäre "Out of Range"
-
ja schon.. das ist aber eine logische erklärung. ich bräuchte nun eine programmiererklärung

-
bla[2][2][2]={{{1, 2},{3, 4}},{{1, 2},{3, 4}}}; ^ ^ ^ bla[0][0][1] | | bla[0][1][0] | bla[1][1][0]die innerste Klammer ist die letzte Dimension, und dann nach aussen vor arbeiten.
blubb[3][5]={ {1,2,3,4,5}, {1,2,3,4,5}, {1,2,3,4,5} } ziep[2][3][4]={ { {1,2,3,4}, {1,2,3,4}, {1,2,3,4} }, { {1,2,3,4}, {1,2,3,4}, {1,2,3,4} } }hoffe das stimmt jetzt auch...
-
1310-Logik schrieb:
hmmm
ich dachte dimension hat was mit ausdehnung zu tun.
hab in physik mal gehört, das es bis zur 10. dimension definitionen gibt.. (ich glaub das war bei den string theorien)
weiss da jemand was drüber?Wer sagt denn, dass das alles Raumdimensionen sind? Eine weitere Dimension ist zunächst einmal nur eine Hinzunahme einer weiteren Variablen. Ausserdem ist das hier offtopic. Wenn es dich interessiert mach in Mathematik oder NADRW einen Thread dazu auf.