Wie Verwenden von multidimensionalen Arrays in C-Programmierung

Wenn Sie müssen Elemente in der zweiten oder dritten Dimension zu beschreiben, können Sie die C-Programmierung verwenden, um ein mehrdimensionales Array-Typ zu zaubern her.

Menu

Wie man eine zweidimensionale Anordnung machen

Es hilft einer zweidimensionalen Matrix als ein Gitter aus Zeilen und Spalten zu denken. Ein Beispiel für diese Art von Array ist ein Schachbrett - ein Raster von 8 Zeilen und 8 Spalten. Obwohl Sie ein einzelnes 64-Element-Array deklarieren zu handhaben arbeitet die Aufgabe darstellt, ein Schachbrett, ein zweidimensionales Array besser. So etwas würde auf diese Weise erklärt werden:

int Schach [8] [8] -

Die beiden eckigen Klammern definieren zwei unterschiedliche Dimensionen des Schach-Array: 8 Zeilen und 8 Spalten. Der Platz in der ersten Reihe und Spalte befinden würde als Schach verwiesen werden [0] [0]. Der letzte Platz in dieser Reihe wäre Schach [0] [7] und der letzte Platz auf dem Brett würde Schach sein [7] [7].

In Tic-Tac-Toe, ein einfaches Tic-Tac-Toe-Board entsteht eine zweidimensionale Matrix: 3-mal-3. Die Zeilen 9 bis 11 in der Matrix zu füllen. Zeile 12 fügt ein X-Zeichen in der Mitte Platz.

Tic Tac Toe

# include int main () {char tictactoe [3] [3] -int x, y - / * initialisieren Matrix * / for (x = 0-XLT; 3-x ++) für (y = 0-ylt; 3-y ++ ) tictactoe [x] [y] = '.'- tictactoe [1] [1] =' x '- / * Anzeige Spielbrett * / puts ( "Ready to spielen Tic-Tac-Toe?")-for(x=0-xlt;3-x++){for(y=0-ylt;3-y++)printf("%ct",tictactoe[x][y])-putchar('n')-}return(0)-}

Zeilen 14 bis 21 zeigen die Matrix. Wie bei ihrer Gründung wird die Matrix unter Verwendung einer verschachtelten for-Schleife angezeigt.

Übung 1: Erstellen Sie ein neues Projekt, den Quellcode gezeigt in Tic-Tac-Toe mit. Erstellen und ausführen.

Eine Art von zweidimensionalen Array, das ziemlich einfach ist, zu verstehen, ist ein Array von Strings, wie sie in ein Array von Strings gezeigt.

Ein String-Array

#include #define SIZE 3int main () {char Präsident [SIZE] [8] = { "Clinton", "Bush", "Obama"} - int x, index für (x = 0-x

Linie 7 in ein Array von Strings deklariert ein zweidimensionales char-Array: Präsident. Der erste Wert in eckigen Klammern ist die Anzahl der Elemente (Strings) in der Anordnung. Der zweite Wert in eckigen Klammern ist die maximale Größe, die möglichst große Zeichenfolge zu halten. Die größte String ist Clinton mit sieben Buchstaben, so acht Zeichen sind erforderlich, was die abschließende 0 oder Null-Zeichen enthält.

Da alle Elemente in der zweiten Dimension des Arrays müssen die gleiche Anzahl von Elementen haben, werden alle Saiten mit acht Zeichen gespeichert. Ja, das ist eine Verschwendung, aber es ist die Art, wie das System funktioniert.

bild0.jpg

Übung 2: Geben Sie den Quellcode aus einem Array von Strings in Ihr Editor- das Programm erstellen und ausführen.

Die Aussagen trotten im Wesentlichen durch die zweite Dimension des Präsidenten Array, zu einer Zeit, ein Zeichen auszuspucken.

Übung 3: Ersetzen Die Zeilen 15 bis 23 in ein Array von Strings mit einer einzigen puts () Funktion die Zeichenfolge anzuzeigen. Hier ist, wie diese Aussage aussieht:

puts (Präsident [x]) -

Wenn mit String-Elemente in einem Array arbeiten, wird die Zeichenfolge nur durch die erste Dimension verwiesen.

Übung 4: Ändern Sie den Quellcode aus Übung 3, so dass drei weitere Präsidenten dem Array hinzugefügt werden: Washington, Adams und Jefferson.

Wie dreidimensionalen Anordnungen zu schaffen,

Zweidimensionale Arrays sind ziemlich häufig in der Programmierung Reich. Mehrdimensionale ist verrückt!

Nun, vielleicht nicht. Drei- und Vier dimensionale Arrays haben ihren Platz. Die große Sache ist, dass Ihre menschliche Gehirn Probleme hat mit den verschiedenen möglichen Dimensionen Schritt zu halten.

3D veranschaulicht, geht Code, der mit einem dreidimensionalen Array funktioniert. Die Erklärung ist auf Linie 5. Die dritte Dimension gefunden ist einfach der dritte Satz von eckigen Klammern, die effektiv eine 3D-Tic-Tac-Toe-Brett schafft.

3D Graphik

#include int main () {char tictactoe [3] [3] [3] -Int x, y, z - / * Initialisierung Matrix * / for (x = 0-XLT; 3-x ++) for (y = 0- YLT; 3-y ++) for (z = 0-zlt; 3-z ++) tictactoe [x] [y] [z] = '.'- tictactoe [1] [1] [1] =' x '- / * Anzeige Spielbrett * / puts ( "Ready 3D Tic-Tac-Toe spielen?") - für (z = 0-ZLT; 3-z ++) {printf ( "Stufe %dn",z+1)-for(x=0-xlt;3-x++){for(y=0-ylt;3-y++)printf("%ct",tictactoe[x][y][z])-putchar('n')-}}return(0)-}

8 Linien bis 12 füllen das Array mit Daten, Variablen x, y, und z als die dreidimensionalen Koordinaten. Linie 13 Plätze ein X-Zeichen in der Mitte Würfel, die Ihnen eine Vorstellung davon, wie die einzelnen Elemente gibt verwiesen.

Der Rest des Codes von Zeilen 15 bis 26 zeigt die Matrix.

Übung 5: Erstellen eines dreidimensionalen Arrays unter Verwendung der Programm-Quellcode aus 3D-Gehen. Erstellen und ausführen.

Bedauerlicherweise ist die Ausgabe zweidimensional.

Menü