Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Arrays in C Ein Array ist eine Variable, die aus einer Anzahl von Elementen des gleichen Datentyps besteht, die aufeinanderfolgend im Speicher liegen.

Ähnliche Präsentationen


Präsentation zum Thema: "Arrays in C Ein Array ist eine Variable, die aus einer Anzahl von Elementen des gleichen Datentyps besteht, die aufeinanderfolgend im Speicher liegen."—  Präsentation transkript:

1 Arrays in C Ein Array ist eine Variable, die aus einer Anzahl von Elementen des gleichen Datentyps besteht, die aufeinanderfolgend im Speicher liegen. Beispiele sind Listen Tabellen Arrays können eine oder mehrere Dimen-sionen haben. (C) Harder 2007

2 Beispiele eindimensionale Arrays Listen Vektoren
zweidimensionale Arrays Tabellen Matrizen ein TicTacToe-Spielfeld ein Excel-Arbeitsbatt dreidimensionale Arrays „Zauber“würfel (C) Harder 2007

3 Eindimensionale Arrays
Listen sind Eindimensionale Arrays. Folgende Liste hat 5 Positionen Man muß zwischen der Position der Zelle und dem Inhalt der Zelle unterscheiden. In C hat die erste Zelle die Positionsnummer Die Zelle an dieser Position enthält den Wert 9. Die letzte Zelle hat die Positionsnummer Ihr Inhalt ist 8. (C) Harder 2007

4 Deklaration einer Liste
Die Beispielliste Liste wird durch folgende Anweisung deklariert: int Liste [5] ; Die Liste ist vom Typ int. Alle Elemente sind Integerwerte. Die Liste hat 5 Zellen. Die Zellen heißen Liste[0], Liste [1], Liste[2], Liste [3], Liste[4]. Die Liste kann bei der Deklaration durch das Aufzählen der Elementwerte durch die folgende Anweisung initialisiert werden. int Liste [ 5] = { 9, 1, 5, 3, 8 } ; (C) Harder 2007

5 Wertzuweisung Zugriff auf die im Feld gespeicherten Werte z.B. wie folgt: x = Liste [0] ; // x wird der Wert 9 zugewiesen. y = Liste [4] ; // y wird der Wert 8 zugewiesen. x = Liste [5]; // Anweisung verursacht i. d. Regel einen Speicherzugriffsfehler, da auf Speicherbereich außerhalb des reservierten Bereichs zugegriffen wird. => Bei der Benutzung von Arrays liegt die Verantwortung über die Einhaltung der Bereichsgrenzen beim Programmierer ! (C) Harder 2007

6 Eingabe Die Werte von Liste können mit einer Schleife ein-gelesen werden. Dazu deklarieren wir einen Positionszähler pos, der die Zellen von 0 bis 4 zählen kann. Es ist darauf zu achten, daß die letzte Position den Wert 4 hat, pos darf daher den Wert 5 nicht mehr annehmen. for (pos = 0; pos < 5; pos ++) { fflush (stdin) ; scanf (“%i“ , & Liste [ pos ] ) ; } (C) Harder 2007

7 TAB-Abstand herstellen
Ausgabe Die Werte von Liste können mit einer Schleife aus- gegeben werden. Dazu deklarieren wir einen Positionszähler pos, der die Zellen von 0 bis 4 zählen kann. Es ist darauf zu achten, daß die letzte Position den Wert 4 hat, pos darf daher den Wert 5 nicht mehr annehmen. for ( pos = 0 ; pos < 5 ; pos++ ) { printf ( ”%i” , Liste [pos] ) ; printf ( ”\t” ) ; } TAB-Abstand herstellen (C) Harder 2007

8 TAB-Abstand herstellen
Liste.cpp #include <stdio.h> void main ( ) { int Liste [5] ; int pos = 0 ; for ( pos = 0 ; pos < 5 ; pos++ ) fflush (stdin) ; scanf ( ”%i” , & Liste [pos] ) ; } printf ( ”%i” , Liste [pos] ) ; printf ( ”\t” ) ; TAB-Abstand herstellen (C) Harder 2007

9 Zweidimensionale Arrays
(C) Harder 2007

10 Zweidimensionale Arrays
Ein zweidimensionales (3,4)-Array ist wie folgt aufgebaut: zeilenpos = 0 spaltenpos = 0 3 Zeilen: 0, 1, 2 zeilenpos = 2 spaltenpos = 3 4 Spalten: 0, 1, 2, 3 (C) Harder 2007

11 Deklaration eines zweidimensionalen Arrays
Die Beispieltabelle Tabelle wird durch folgende Anweisung deklariert int Tabelle [3][4] ; Die Tabelle ist vom Typ int. Ihre Elemente sind Integerwerte. Die Tabelle hat 12 Zellen. Die Feldelemente von Tabelle heißen Tabelle [0][0], Tabelle [0][1], Tabelle [0][2], Tabelle [0][3], Tabelle [2][3]. Die Tabelle kann bei der Deklaration durch das Aufzählen der Elementwerte durch die folgende Anweisung initialisiert werden: int Tabelle [ 3] [ 4] = { 3, 2, 4, 3, 6, 1, 4, 5, 6, 7, 8, 1 } ; (C) Harder 2007

12 Schleife Die Eingabe der Elemente von Tabelle kann z.B. durch eine verschachtelte Schleife erfolgen. . Dazu deklarieren wir einen Zeilenzähler zeilenpos, der die Zeilen von 0 bis 2 zählen kann. Es ist darauf zu achten, daß die letzte Position der Zeile den Wert 2 hat. Dazu deklarieren wir einen Positionszähler spaltenpos, der die Spalten von 0 bis 3 zählen kann. Es ist darauf zu achten, daß die letzte Position der Spalte den Wert 3 hat. Die äußere Schleife durchläuft die Zeilen, die innere die Spalten von Tabelle. (C) Harder 2007

13 Ende eingelesene Zeile
Eingabe Die Werte von Tabelle werden durch folgende Schleife zeilenweise eingelesen for ( zeilenpos = 0 ; zeilenpos < 3 ; zeilenpos++ ) { for ( spaltenpos = 0 ; spaltenpos < 4 ; spaltenpos++ ) fflush (stdin) ; scanf (“%i“ , &Tabelle [zeilenpos] [spaltenpos] ) ; } Ende eingelesene Zeile (C) Harder 2007

14 Formatierte Ausgabe Die Werte von Tabelle werden durch folgende Schleife zeilenweise ausgegeben: for ( zeilenpos = 0; zeilenpos < 3 ; zeilenpos++ ) { for ( spaltenpos = 0; spaltenpos < 4 ; spaltenpos++ ) printf (“%i“ , Tabelle [zeilenpos] [spaltenpos] ) ; printf ( “\t“ ) ; } printf ( “\n“ ) ; Ende der Ausgabezeile erreicht Zeilenumbruch erzeugen (C) Harder 2007

15 C Quellcode #include <stdio.h> void main ( ) {
int Tabelle [3] [4] ; int zeilenpos = 0 , spaltenpos = 0 ; for ( zeilenpos = 0; zeilenpos < 3 ; zeilenpos ++ ) for ( spaltenpos = 0; spaltenpos < 4 ; spaltenpos ++ ) fflush ( stdin ) ; scanf ( ”%i” , & Tabelle [zeilenpos ] [spaltenpos ] ) ; } for (zeilenpos = 0; zeilenpos < 3 ; zeilenpos ++ ) for (spaltenpos = 0; spaltenpos < 4 ; spaltenpos ++ ) printf ( ”%i” , Tabelle [zeilenpos ] [spaltenpos ] ) ; printf ( ”\t” ) ; printf ( ”\n” ) ; (C) Harder 2007

16 Aufgaben Aufgaben (1) Schreiben Sie ein C-Programm. Das Programm soll ein aus Integerwerten bestehendes (3,4)-Array einlesen und dann wahlweise eine bestimmte Zeile, eine bestimmte Spalte oder das gesamte Array ausgeben. (2) Schreiben Sie ein C-Programm. Das Programm soll ein aus Integerwerten bestehendes (3,4)-Array einlesen und prüfen, ob ein bestimmter int-Wert (z.B. 5) ein Element des Arrays ist. Ist dies der Fall, soll die Position (Zeile, Spalte) des betreffenden Elements ausgegeben werden. (3) Schreiben Sie ein C-Programm. Das Programm soll ein aus Integerwerten bestehendes (3,4)-Array einlesen. Das Programm soll den größten Wert des Arrays finden. Das Maximum und seine Position (Zeile, Spalte) sind auszugeben ! (C) Harder 2007


Herunterladen ppt "Arrays in C Ein Array ist eine Variable, die aus einer Anzahl von Elementen des gleichen Datentyps besteht, die aufeinanderfolgend im Speicher liegen."

Ähnliche Präsentationen


Google-Anzeigen