Benutzer-Werkzeuge

Webseiten-Werkzeuge


einleitung:arrays

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
einleitung:arrays [2018/05/02 11:36]
SabidJFejzula
einleitung:arrays [2018/05/09 19:19] (aktuell)
d.golovko
Zeile 13: Zeile 13:
 In dieser Tabelle gibt es sechs Eintrage. An der 0. Stelle steht eine 3, an der 1. Stelle steht eine 1, usw. Wichtig ist, dass die Nummerierung bei 0 beginnt. Es kann auch zweidimensionale Arrays geben (z.B. um eine Tabelle aus x- und y-Koordinaten abzulegen), dreidimenstionale usw. Im Folgenden beschränken wir uns auf eindimensionale Arrays. ​ In dieser Tabelle gibt es sechs Eintrage. An der 0. Stelle steht eine 3, an der 1. Stelle steht eine 1, usw. Wichtig ist, dass die Nummerierung bei 0 beginnt. Es kann auch zweidimensionale Arrays geben (z.B. um eine Tabelle aus x- und y-Koordinaten abzulegen), dreidimenstionale usw. Im Folgenden beschränken wir uns auf eindimensionale Arrays. ​
  
-===Deklaration und Zugriff beim Arduino===+====1. Deklaration und Zugriff beim Arduino====
 Um so ein Array bei dem Arduino anzulegen, muss folgender Code geschrieben werden: Um so ein Array bei dem Arduino anzulegen, muss folgender Code geschrieben werden:
 <code c++> <code c++>
Zeile 79: Zeile 79:
 } }
 </​code>​ </​code>​
 +
 +====2. Schachbrett:​ Ein Beispiel mit einem zweidimensionalen Array====
 +
 +Stellen wir uns vor, wir wollen jetzt einen Schachroboter bauen. Dafür wollen wir u.A. das Schachbrett mit seinen Farbwerten (weiß oder schwarz) für jedes Feld initialisieren und abspreichern. Dafür brauchen wir ein zweidimensionales Array in der Größe 8x8. Dieses Array wird vom Typ ''​boolean''​ sein (weiß = ''​true'',​ schwarz = ''​false''​). Wir legen dieses Array so an:
 +<code cpp>
 +boolean brett[8][8];​
 +</​code>​
 +
 +
 +Jetzt können wir dieses Array mit Werten auffühlen und diese ausgeben. Auf die einzelnen Stellen können wir mit Hilfe einer geschachtelten for-Schleife zugreifen. ​
 +
 +<code cpp>
 +void setup() {
 +  Serial.begin(9600);​
 +
 +  boolean brett[8][8];​ // das Schachbrett
 +
 +  boolean istWeiss = true; // zeigt, ob die schwarze oder weisse Farbe dran ist
 +  // Das Array mit Werten füllen:
 +  for (int i = 0; i < 8; i++) {
 +    for (int j = 0; j < 8; j++) {
 +      brett[i][j]= istWeiss;
 +      istWeiss = !istWeiss; // den Farbwert umkehren
 +    }
 +    istWeiss = !istWeiss; // am Ende der Zeile den Farbwert nochmal umkehren
 +  }
 +
 +  // Das Array ausgeben:
 +  for (int i = 0; i < 8; i++) {
 +    for (int j = 0; j < 8; j++) {
 +      Serial.print(brett[i][j]);​
 +    }
 +    Serial.println();​ // Zeilenumbruch am Ende einer Zeile
 +  }
 +}
 +
 +void loop() {
 +
 +}
 +</​code>​
 +
 +
einleitung/arrays.1525253792.txt.gz · Zuletzt geändert: 2018/05/02 11:36 von SabidJFejzula