Unsere Datenschutzrichtlinie wird in Kürze aktualisiert. Bitte sehen Sie sich die Vorschau an.

C++

Mehrdimensionale Felder

Testen Sie unsere 2016 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
Auch der Umgang mit mehrdimensionalen Arrays ist in der Programmierung häufig. Sehen Sie in diesem Beispiel, wie einfach Sie auch auf große Felder praktisch zugreifen können.

Transkript

Oft braucht man auch in der Mathematik zum Beispiel mehrdimensionale Felder, auch für Spieleprogrammierung oder sonstige Anwendungen selbsverständlich, und ich zeige Ihnen mal, wie das geht. Das ist eigentlich auch kein großes Geheimnis. Wir machen mal hier ein Double-Feld mit "D", wie "double", "A", wie "array" 1, nenne ich das mal. Die Namen sind ja immer beliebig. Und jetzt gebe ich hier in eckigen Klammern zunächst einmal die eine Feldgrenze an, das haben wir ja schon gehabt bei eindimensionalen Feldern. Und ich kann aber jetzt hier einfach die nächste Feldgrenze noch dazuschreiben. Ich habe jetzt ein Feld mit 3 mal 20, also 60 Elementen. Zugreifen, tut man da ganz genau so wieder, in der gleichen Schreibweise. Ich könnte jetzt hier mal noch etwas anderes machen. Das ist auch ganz interessant, nämlich wie man solche Felder initialisiert. Natürlich kann ich die einfach durch eine Zuweisung initialisieren, indem ich hier in eckigen Klammern, so zum Beispiel direkt den Index angebe. Ich könnte jetzt hier aber auch bei der Deklaration, ähnlich wie bei eindimensionalen Feldern, in geschweiften Klammern das Ganze angeben. Und jetzt muss ich hier mit zwei geschweiften Klammern arbeiten. Das ist dann besser, damit man hier auch gleich sieht, wie die zugeordnet sind. Hier habe ich jetzt zum Beispiel das erste Feldelement. Man fängt sozusagen von hinten nach vorne an. Dann habe ich jetzt hier 1, 2, Komma, dann nehme ich 3 Komma 4, das ist also der kleinere Index, der hintere Index, das ist der, der zuerst hochgezählt wird sozusagen. So kann man sich das vielleicht merken. 5 Komma 6 und dann habe ich jetzt hier die Werte - wenn ich mich jetzt hier nicht vertippe - dann auch gleich eingegeben. Und damit ist mein Feld initialisiert und jetzt muss ich hier natürlich, damit wir da noch ein bisschen was mit spielen können, machen wir mal hier ein 0. Fängt natürlich auch wieder bei 0 an, darf ich mich hier natürlich auch nicht vertippen und hier hinten schreiben wir mal, da habe ich noch 2, das geht ja entsprechend so weit, gleich, da machen wir mal hier einen Double-Wert rein und das andere ist ja schon initialisiert. Das kann ich jetzt einfach ausgeben. "dara1" und da muss man jetzt auch wieder darauf achten, dass man nur die Elemente ausgibt, die man auch vorher definiert hat. Kann ja sein, dass man nicht alle verwenden will später. Oder man muss eine kleine Schleife verwenden. Das kann ich Ihnen hier auch nochmal zeigen, wie das geht, um die Werte entsprechend dann auch zu initialisieren. Und wir nehmen uns mal hier den Wert 1. Da müssen wir mal gucken, was da jetzt interessant ist, ist ja im Prinzip egal. Das geht wieder von 0 bis 1. Da muss man aufpassen, bei der Deklaration hier oben. Moment! Das ist 0 und 1 ist definiert und hier ist 0, 1, 2. Das hat zwei Elemente, das hat drei Elemente und geht aber immer von 0 weg, das heißt ich kann jetzt hier maximal den Wert 1 ausgeben. Und "endl", das machen wir hier oben aber auch noch, damit uns das nicht hier durcheinander gerät bei der Ausgabe. Jetzt schauen wir mal, ob wir das Ganze schon syntaxfehlerfrei haben. Das sieht doch gut aus. Hier habe ich den Wert 4 und hier oben 12 Komma 3, 4, das ist der Wert den in reingegeben habe, 4 . Können wir mal gucken, wo der steht. Das ist genau dieses Element, was ich jetzt hier erwischt habe. Nämlich hier von hinten reingezählt ist es 0, 1, 0, 1, jeweils hinten der letzte Index und hier habe ich 0, 1, 2. Wenn ich den jetzt mal hier auf 0 ändere, dann bekomme ich einen anderen Wert, das ist ja klar, nämlich den Wert 2. Das ist dann dieses Feldelement, was ich jetzt hier ausgebe. Also auf die Art und Weise kann man das sehr schön machen. Und jetzt zeige ich Ihnen noch schnell, wie man diese Feldelemente auch initialisieren kann, wenn man sehr viele hat, die man sich vielleicht berechnet, sonst können Sie auch hier einfach eine 0 zuweisen. Das geht natürlich auch. Aber wir machen das mal jetzt mit dem oberen Feld. Da ist im Prinzip egal, ob Sie von innen nach außen oder von außen nach innen arbeiten. Ich mache das mal so. Habe ich jetzt hier mal eine Schleife, für die linke Hälfte des Feldes, also die sozusagen langsamer hochläuft im Speicher. Und dann machen wir hier "int j=0 durch j kleiner 3". Das ist mit kleiner, man könnte mit kleiner gleich 2 arbeiten, aber so ist es schön. Dann sieht man nämlich hier hinten auch gleich den Feldindex und die Anzahl der Elemente hier. Vielleicht habe ich 20 Elemente. Von 0 bis 19 läuft dann die Schleife und hier von 0 bis 2. Und hier kann ich jetzt "dara" entsprechend zuweisen. Von mir aus "i" mal "j", ist ja egal, irgendeinen netten Wert, aber hier muss ich natürlich noch hier zugreifen. Jetzt muss man aufpassen, da haben wir den ersten Index und dann kommt hier der zweite Index. So kann ich hier direkt darauf zugreifen. Na gut, dann ist es sozusagen sehr schön. Aber ausgeben wollen wir das Ganze natürlich auch nochmal am Schluss. Das machen wir jetzt hier nochmal, wir wollen ja auch sehen, ob das wirklich ausgegeben ist. Da buste ich jetzt hier einfach ein "cout" davor. So, da geben wir unser Feld einfach wieder aus, "endl" und das wird sicherlich eine ganz schön lange Liste, nämlich mit 60 Elementen-Werten. Schauen wir mal, ob wir hier durchrutschen. Da kommt ja jede Menge! Da kommt immer wieder 0 raus, sehen Sie hier, das ist schon genau das. Hier oben sind noch unsere alten Werte. Hier habe ich jetzt hier 0 0 0 0, dann 0 1 2, 0 2 4, 0 3 6, 0 4 8, 0 5 10. Das ist auch ganz klar, weil, hier innen laufe ich ja immer 0 1 2, 0 1 2 und ich multipliziere das hier oben mit "i", das ja auch immer über 0 bis 19 läuft, das heißt es wird immer höher und höher, aber das erste Element in dieser Tabelle, immer wenn hier ein "i=0" steht, ist auch der Wert gleich 0 oder wenn "j" gleich 0 ist, ist natürlich der Wert auch entsprechend 0. Aber das ist ja jetzt nur ein konstruiertes Beispiel, einfach um mal zu sehen, wie man hier solche mehrdimensionalen Felder bearbeitet und Sie haben jetzt auch gesehen, wie man die deklariert, wie man sie initialisiert, welche Methoden es dazu gibt und wie man sie ausgeben kann.

C++

Machen Sie sich mit den einfachen Grundlagen zu C++ vertraut und lernen Sie anhand zahlreicher Übungs- und Codebeispiele die Klassenkonzepte, Prozeduren und Funktionen kennen.

9 Std. 3 min (143 Videos)
Derzeit sind keine Feedbacks vorhanden...
 

Video-Training auf DVD mit Bonusmagazin

+ Tutorial to go: Mit Videos für iPod, iPhone & Co.

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!