C++ - Einführung in die Programmiersprache Arrays
|
|
- Ida Egger
- vor 6 Jahren
- Abrufe
Transkript
1 C++ - Einführung in die Programmiersprache Arrays Array Array a A b B c C a b c Leibniz Universität IT Services Anja Aue
2 Array (Felder, Vektoren) Zusammenfassung von Variablen gleichen Datentyps Gruppierung von Elementen gleichen Datentyps aus einer Kategorie. Speicherung einer festen Anzahl von Werten gleichen Datentyps. C++ - Einführung Seite 2
3 Eindimensionale Arrays Folge von Werten gleichen Datentyps. Sammlung von Werten zu dem gleichen Thema, wie zum Beispiel durchschnittliche Temperaturen pro Monat. Der Monat wird durch die Position im Array symbolisiert. Der Wert an der Position bildet die Temperatur an C++ - Einführung Seite 3
4 deklarieren int main() { const int maxtage = 31; int monat[12]; int inttage[maxtage]; }; return 0; Beispiele/_0911_Array... C++ - Einführung Seite 4
5 Deklaration int monat [ 12 ] ; datentyp name [ anzahl ] ; Der Name eines Arrays ist frei wählbar. Direkt im Anschluss an den Namen folgt, in eckigen Klammern, die Anzahl der Elemente. Die Elemente sind vom Datentyp... C++ - Einführung Seite 5
6 Angabe der Anzahl der Elemente int monat[12]; int inttage[31]; Die Anzahl der Elemente wird durch eine Ganzzahl angegeben. Die Anzahl der Elemente ist konstant und kann nicht verändert werden. C++ - Einführung Seite 6
7 durch eine Konstante const int maxtage = 31; int inttage[maxtage]; Im ersten Schritt wird eine Konstante deklariert und gleichzeitig initialisiert. Im zweiten Schritt wird ein Array deklariert. In den eckigen Klammern wird der Name der deklarierten Konstanten gesetzt. Der Wert der Konstanten legt die Anzahl der Elemente in dem Array fest. Hinweis: Die Nutzung einer Variablen zur Angabe der Anzahl der Elemente ist nicht möglich. C++ - Einführung Seite 7
8 deklarieren und initialisieren int main() { double dblmesswerte[12] = {0}; char chroperator[] = {'+', '-', '*', '/'}; }; return 0; Beispiele/_0911_Array... C++ - Einführung Seite 8
9 Initialisierung von Arrays bei der Deklaration char operator [ ] = { '+', '-' } datentyp name [ ] = { wert,... } Mit Hilfe des Gleichheitszeichens wird dem Array eine Liste von Werten zu gewiesen. Die sogenannte Initialisierungsliste beginnt und endet mit den geschweiften Klammern. Die eckigen Klammern zur Angabe der Anzahl der Elemente ist leer. Die Anzahl wird automatisiert durch die Anzahl der Elemente in der Intialisierungsliste festgelegt. C++ - Einführung Seite 9
10 Initialisierungsliste char chroperator [ ] = { '+', '-' } datentyp name [ ] = { wert,... } Die Initialisierungsliste beginnt und endet mit den geschweiften Klammern. Die einzelnen Werte werden in der Liste durch Kommata getrennt. C++ - Einführung Seite 10
11 Werte in der Initialisierungsliste char chroperator [ ] = { '+', '-' } datentyp name [ ] = { wert,... } Die Werte entsprechend dem Datentyp des Arrays. Für jeden Wert wird entsprechend des angegebenen Datentyps automatisiert Speicher bereitgestellt. Die Werte werden wie Perlen auf der Schnur im Speicher abgelegt. Die Anzahl der Werte in der Initialisierungsliste legt die Anzahl der Elemente des Arrays fest. C++ - Einführung Seite 11
12 Initialisierung von Ganz- oder Gleitkommazahlen int monat [ 12 ] = { 0 } datentyp name [ anzahl ] = { 0 } Voraussetzung: Das Array speichert Elemente vom Datentyp Ganzzahlen (zum Beispiel int) oder Gleitkommazahlen (zum Beispiel double). Die Anzahl der Elemente des Arrays wird in den eckigen Klammern angegeben. Die Initialisierungsliste enthält nur den Wert 0. Alle Elemente des Arrays werden mit diesen Wert initialisiert. C++ - Einführung Seite 12
13 C++11: Initialisierung const int maxtage = 31; int monat[12]; int inttage[maxtage]; double dblmesswerte[12] = {0}; char chroperator[] = {'+', '-', '*', '/'}; double dbltemperatur[12]{}; char word[6]{'h', 'e', 'l', 108, 'o', '\0'}; Beispiele/_0911_Array... C++ - Einführung Seite 13
14 Initialisierung int monat [ 12 ] { } datentyp name [ anzahl ] { } C++11 benötigt zwischen der Deklaration und der Initialisierungsliste kein Gleichheitszeichen. Die Initialisierungsliste beginnt und endet mit den geschweiften Klammern. In der Liste werden die Werte für die verschiedenen Elemente durch ein Kommata getrennt. Die leere Liste initialisiert jedes Array-Element mit 0. C++ - Einführung Seite 14
15 Informationen zu einem eindimensionalen Array int main() { int monat[12]; }; cout << "Speichergröße eines Elements: " << sizeof(int) << '\n'; cout << "Speichergröße des Arrays: " << sizeof(monat) << '\n'; cout << "Anzahl: " << (sizeof(monat) / sizeof(int)) << '\n'; Beispiele/_0911_Array... C++ - Einführung Seite 15
16 Speicherbedarf Das Schlüsselwort sizeof() gibt den Speicherbedarf eines Elementes in Bytes zurück. Die Angabe sizeof(datentyp) gibt den Speicherbedarf des angegebenen Datentyps zurück. Das Element eines Arrays hat einen Speicherbedarf in Abhängigkeit des Datentyps. Die Angabe sizeof(arrayname) gibt den Speicherbedarf aller Elemente eines Arrays zurück. C++ - Einführung Seite 16
17 Anzahl der Elemente in einem Array In der Programmiersprache C++ kann die Anzahl der Elemente berechnet werden. Eine Funktion zur automatischen Berechnung ist nicht vorhanden. Mit Hilfe von sizeof(arrayname) / sizeof(datentyp) kann die Anzahl der Elemente ermittelt werden. C++ - Einführung Seite 17
18 Grafische Darstellung + - Aufeinandergestapelte Container. Jeder Container hat die gleiche Größe in Abhängigkeit des Datentyp. Aber der Inhalt des Containers ist unterschiedlich. C++ - Einführung Seite 18
19 und im Speicher + chroperator[0] - chroperator[1] Die Elemente des Arrays werden wie Perlen auf der Schnur im Speicher abgelegt. Der Name des Arrays symbolisiert den Anfang des Speicherbereichs und den Beginn ersten Elemente eines Arrays. C++ - Einführung Seite 19
20 Elemente des Arrays nutzen int main() { const int anzahlmonat = 12; int monat[anzahlmonat]; int index = 0; }; Beispiele/_0912_Array... monat[index] = index + 1; cout << *monat << '\n'; cout << monat[index] << '\n'; monat[anzahlmonat - 1] = anzahlmonat; cout << monat[anzahlmonat - 1] << '\n'; C++ - Einführung Seite 20
21 Index eines Elements monat [ 0 ] = 1 arrayname [ index ] = wert ; ; Der Index symbolisiert die Position eines Wertes in einem Array. Der Index identifiziert exakt ein Element in einem Array. Das erste Element hat den Index 0. Das letzte Element hat den Index (Anzahl 1). C++ - Einführung Seite 21
22 Angabe eines Index monat [ 0 ] = 1 arrayname [ index ] = wert ; ; Der Index wird in in eckigen Klammern, direkt im Anschluss an den Array-Namen angegeben. Der Index ist immer vom Datentyp Ganzzahl. C++ - Einführung Seite 22
23 Nutzung des Array-Namens const int anzahlmonat = 12; int monat[anzahlmonat]; cout << *monat << '\n' Mit Hilfe von *arrayname wird der Wert des ersten Elements ausgegeben. Der Array-Name symbolisiert einen Zeiger auf das erste Element im Array. Der Array-Name hat als Wert den Beginn des Arrays im Speicher. C++ - Einführung Seite 23
24 Hinweise Die Nutzung einer negativen Ganzzahl verweist auf einen beliebigen Speicherbereich. Die unterste Grenze des Index wird überschritten. Die Nutzung einer Ganzzahl größer als die maximale Anzahl der Elemente verweist auf einen beliebigen Speicherbereich. Die oberste Grenze des Index wird überschritten. Ein Fehler wird beim Unterschreiten oder Überschreiten der Grenzen nicht gemeldet. C++ - Einführung Seite 24
25 Arbeiten mit dem Array-Element monat [ 0 ] = 1 arrayname [ index ] = wert ; ; Das Element eines Arrays ist vom Datentyp des Arrays. Mit Hilfe des Gleichheitszeichen kann dem Element ein Array zugewiesen werden. Entsprechend des Datentyps kann ein Element wie eine Variable in einem Ausdruck genutzt werden C++ - Einführung Seite 25
26 Durchlauf vom ersten bis zum letzten Element int main() { const int anzahlmonat = 12; int monat[anzahlmonat]; int index = 0; }; for(index = 0; index < anzahlmonat; index++) { monat[index] = index + 1; } Beispiele/_0912_Array... C++ - Einführung Seite 26
27 Durchlauf vom letzten bis zum ersten Element int main() { const int anzahlmonat = 12; int monat[anzahlmonat]; int index = 0; }; for(index = (anzahlmonat - 1); index >= 0; index--) { cout << index << ": " << monat[index] << '\n'; } Beispiele/_0912_Array... C++ - Einführung Seite 27
28 Kopieren von Elementen Beispiele/_0913_Array... const int maxmonat= 12; double temperatur01[maxmonat]; double temperatur02[maxmonat]; temperatur01[0] = -1.3; temperatur01[1] = -1.4; temperatur01[0] = 1.1; for(int index = 0; index < maxmonat; index++) { temperatur02[0] = temperatur01[index]; } C++ - Einführung Seite 28
29 Erläuterung Die Anweisung temperatur02 = temperatur01 erzeugt einen Fehler. Die Elemente eines Arrays müssen in ein anderes Array kopiert werden. Die Quelle und das Ziel sollten vom gleichen Datentyp sein. C++ - Einführung Seite 29
30 Vergleich von Arrays int main() { const int anzahlzeichen = 4; char buchstabengross[anzahlzeichen] = {'A', 'B', 'C', 'D'}; char buchstabenklein[anzahlzeichen] = {'a', 'b', 'c', 'd'}; int index = 0; bool gleich = false; }; gleich = (buchstabengross == buchstabenklein); cout << "Speicheradresse gleich: " << gleich; Beispiele/_0914_Array... C++ - Einführung Seite 30
31 Hinweise Mit Hilfe der Namen von Arrays werden die Speicheradressen des jeweiligen ersten Elements verglichen. Speicheradressen von zwei Arrays sind niemals gleich. Eine automatischer Vergleich aller Elemente in einem Array mit einem anderen ist nicht möglich. C++ - Einführung Seite 31
32 Vergleich von Elementen im Array int main() { const int anzahlzeichen = 4; char buchstabengross[anzahlzeichen] = {'A', 'B', 'C', 'D'}; char buchstabenklein[anzahlzeichen] = {'a', 'b', 'c', 'd'}; int index = 0; bool gleich = false; }; for(index = 0; index < anzahlzeichen; index++) { gleich = (buchstabengross[index] == buchstabenklein[index] ); gleich = (buchstabengross[index] == (buchstabenklein[index] - 32)); } Beispiele/_0914_Array... C++ - Einführung Seite 32
33 C++11: for each Beispiele/_0915_Array... const int anzahlzeichen = 4; char suchenach[anzahlzeichen] = {'a', 'b', 'c', 'd'}; int vorkommen[anzahlzeichen] = {0}; char suchein[7] = {'a', 'b', 'a', 'e', 'e', 'g', 'c'}; int index = -1; for(char buchstabe : suchenach){ index++; for(char quelle : suchein) { if (buchstabe == quelle){ vorkommen[index] = vorkommen[index] + 1; } } } C++ - Einführung Seite 33
34 Aufbau der for each -Schleife for(char buchstabe : suchenach) Schleifenkopf { } index++; Schleifenrumpf C++ - Einführung Seite 34
35 Schleifenkopf for ( char buchstabe : suchenach ) for ( datentyp element : arrayname ) Der Schleifenkopf beginnt mit dem Schlüsselwort for. Dem Schlüsselwort folgt die Anweisung Für jedes Element in dem Array in runden Klammern. Das Element links bezieht sich auf das Array rechts vom Doppelpunkt. Das Element und das Array sollten den gleichen Datentyp besitzen. C++ - Einführung Seite 35
36 Hinweise Das Array wird vollständig vom ersten bis zum letzten Element durchlaufen. Die Array-Elemente können nicht verändert werden. Die Werte des Array-Elements werden an die Variable call by value automatisiert übergeben. C++ - Einführung Seite 36
37 Mehrdimensionale Arrays Darstellung von mehreren Dimensionen. Zwei Dimensionen: x-, y-koordinatensystem; Schachbrett; Matrizen. Drei Dimensionen: x-, y-, z-koordinatensystem C++ - Einführung Seite 37
38 Hinweise Die maximal mögliche Dimension ist abhängig vom verwendeten Compiler. Der benötigte Speicherplatz steigt exponentiell mit der Anzahl der Dimensionen. C++ - Einführung Seite 38
39 deklarieren int main() { const int anzahlmonat = 12; const int anzahltage = 31; int tagimmonat[anzahlmonat][anzahltage]; int Koordinaten[10][10][10]; }; return 0; Beispiele/_0921_Array... C++ - Einführung Seite 39
40 Deklaration int tagimmonat [12] [12] ; datentyp name dimension dimension ; Für jede Dimension wird die Anzahl der Elemente in eckigen Klammern angegeben. In diesem Beispiel wird ein zweidimensionales Array genutzt. C++ - Einführung Seite 40
41 initialisieren int main() { int spielplan[][10] = { {0,1,0,0,0,0,0,0,0,0}, {0,1,0,0,0,0,0,1,1,1}, {0,0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,1,1,1,1}, }; }; return 0; Beispiele/_0921_Array... C++ - Einführung Seite 41
42 Aufbau Deklaration int spielplan[][10] = { 1. Dimension {0,1,0,0,0,0,0,0,0,0}, {0,1,0,0,0,0,0,1,1,1}, Dimension } C++ - Einführung Seite 42
43 Erläuterung Bei einer gleichzeitigen Deklaration und Initialisierung muss die Anzahl der Elemente für die erste Dimension nicht angegeben werden. Die Anzahl der Elemente wird mit Hilfe der angegebenen Initialisierungslisten für die erste Dimension ermittelt. Die Initialisierungslisten für die verschiedenen Dimensionen werden durch die geschweiften Klammern begrenzt. Die Elemente in der Initialisierungsliste werden durch Kommata getrennt. Die Elemente der ersten bis zur (n 1)-Dimension bestehen jeweils aus einer Initialisierungsliste. C++ - Einführung Seite 43
44 Ermittlung der Speichergröße int achsenpunkte[][3][5] = { {{11,12,13}, {14, 15}}, {{21,22,23}, {24, 25, 26}, {27}} }; Beispiele/_0921_Array... cout << "Speichergröße eines Elements: " << sizeof(int) << '\n'; cout << "Speichergröße des Arrays (2 * 3 * 5 * int): " << sizeof(achsenpunkte) << '\n'; cout << "Speichergröße der 2. Dimension (1 * 3 * 5 int): " << sizeof(achsenpunkte[0]) << '\n'; cout << "Speichergröße der 3. Dimension (5 * int): " << sizeof(achsenpunkte[0][0]) << '\n'; cout << "Speichergröße eines Elements (1 * int): " << sizeof(achsenpunkte[0][0][0]) << '\n'; C++ - Einführung Seite 44
45 Speicherbedarf Das Schlüsselwort sizeof() gibt den Speicherbedarf eines Elements in Bytes zurück. Die Angabe sizeof(datentyp) gibt den Speicherbedarf des angegebenen Datentyps zurück. Das Element eines Arrays hat einen Speicherbedarf in Abhängigkeit des Datentyps. Die Angabe sizeof(arrayname) gibt den Speicherbedarf aller Elemente eines Arrays zurück. Die Angabe sizeof(arrayname[x][x]...) gibt den Speicherbedarf entsprechend der Angaben der Dimensionen für ein mehrdimensionales Array an. Der Speicherbedarf ist abhängig von den angegebenen Dimensionen und den darin enthaltenen Elementen. C++ - Einführung Seite 45
46 Grafische Darstellung C++ - Einführung Seite 46
47 und im Speicher spielplan[0][1] spielplan[0][2] C++ - Einführung Seite 47
48 Anzahl der Elemente int achsenpunkte[][3][5] = { {{11,12,13}, {14, 15}}, {{21,22,23}, {24, 25, 26}, {27}} }; Beispiele/_0921_Array... cout << "Anzahl der Elemente (gesamt): " << (sizeof(achsenpunkte) / sizeof(int)) << '\n'; cout << "Anzahl der Elemente in der 1. Dimension: " << (sizeof(achsenpunkte) / sizeof(achsenpunkte[0])) << '\n'; cout << "Anzahl der Elemente in der 2. Dimension: " << (sizeof(achsenpunkte[0]) / sizeof(achsenpunkte[0][0])) << '\n'; cout << "Anzahl der Elemente in der 3. Dimension: " << (sizeof(achsenpunkte[0][0]) / sizeof(achsenpunkte[0][0][0])) << '\n'; C++ - Einführung Seite 48
49 Anzahl der Elemente (sizeof(arrayname) / sizeof(int)) berechnet die Anzahl der Elemente in dem gesamten Array. (sizeof(arrayname) / sizeof(int)) berechnet die Anzahl der Elemente in dem gesamten Array. (sizeof(arrayname[x]...) / sizeof(arrayname[x][x]...)) berechnet die Anzahl der Elemente in Abhängigkeit der angegebenen Dimension. C++ - Einführung Seite 49
50 Elemente des Arrays nutzen int main() { int spielplan[][10] = { {0,1,0,0,0,0,0,0,0,0}, {0,1,0,0,0,0,0,1,1,1}, {0,0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,1,1,1,1}, }; }; cout << "1,2: " << spielplan[0][1] << '\n'; spielplan[1][1] = 1; Beispiele/_0922_Array... C++ - Einführung Seite 50
51 Angabe des Index int spielplan[][10]; cout << "1,2: " << spielplan[0][1] << '\n'; spielplan[1][1] = 1; Im Anschluss an den Namen des Arrays wird der Index für jede Dimension angegeben. Der Index wird wie bei eindimensionalen Arrays in eckigen Klammern angegeben. Das erste Element einer Dimension hat den Index 0. Das letzte Element einer Dimension hat den Index (Anzahl 1). C++ - Einführung Seite 51
52 Array-Namen als Index nutzen Mit Hilfe von *array[0] wird in einem zweidimensionalen Array das Element mit dem Index [0][0] zurückgegeben. Bei einem dreidimensionalen Array würde die Adresse des ersten Elements mit dem Index [0][0] zurückgegeben. Mit Hilfe von *array wird in einem mehrdimensionalen Array die Adresse des Elements mit dem Index [0] zurückgegeben. C++ - Einführung Seite 52
53 Aufbau int spielplan[][10] = *spielplan Adresse des Elements { {0,1,0,0,0,0,0,0,0,0}, {0,1,0,0,0,0,0,1,1,1}, *spielplan[0] Wert des erstenelements... } C++ - Einführung Seite 53
54 Durchlauf vom ersten zum letzten Element int tagimmonat[anzahlmonat][anzahltage]; int indexdim01 = 0; int indexdim02 = 0; for(indexdim01 = 0; indexdim01 < anzahlmonat; indexdim01++) { for(indexdim02 = 0; indexdim02 < anzahltage; indexdim02++) { tagimmonat[indexdim01][indexdim02] = 0; } } Beispiele/_0923_Array... C++ - Einführung Seite 54
55 Durchlauf vom letzten zum ersten Element int tagimmonat[anzahlmonat][anzahltage]; int indexdim01 = 0; int indexdim02 = 0; for(indexdim01 = 0; indexdim01 < anzahlmonat; indexdim01++) { } for(indexdim02 = 0; indexdim02 < anzahltage; indexdim02++) { tagimmonat[indexdim01][indexdim02] = indexdim02 + 1; } Beispiele/_0923_Array... C++ - Einführung Seite 55
56 Schleife vorzeitig abbrechen for(indexdim01 = 0; indexdim01 < anzahlmonat; indexdim01++){ for(indexdim02 = 0; indexdim02 < anzahltage; indexdim02++) { if (((indexdim01 + 1) == 2) && ((indexdim02 + 1) > 29)){ break; } else if ((((indexdim01 + 1) == 4) ((indexdim01 + 1) == 6) ((indexdim01 +1) == 9) ((indexdim01 + 1) == 11) ) && ((indexdim02 + 1) > 30)){ break; } } } tagimmonat[indexdim01][indexdim02] = indexdim02 + 1; Beispiele/_0923_Array... C++ - Einführung Seite 56
57 Hinweise Es wird nur die Schleife vorzeitig abgebrochen, in der das Schlüsselwort break positioniert ist. In diesem Beispiel wird die innere Schleife abgebrochen, aber nicht die äußere Schleife. C++ - Einführung Seite 57
58 Array vom Typ char char buchstaben[] = {'h', 'e', 'l', 'l', 'o'}; cout << "Ausgabe des Strings: " << buchstaben << '\n'; Beispiele/_1010_String_... for(int index = 0; index < (sizeof(buchstaben) / sizeof(char)); index++) { cout << "Element " << index << ": " << buchstaben[index] << '\t'; } C++ - Einführung Seite 58
59 Erläuterung h e l l o Die Elemente des Arrays speichern einen beliebigen Wert vom Datentyp char. Jedes Element hat die Größe, die zum Speichern eines Datentyps char benötigt wird. Werte vom Datentyp char werden durch Apostrophs begrenzt. C++ - Einführung Seite 59
60 C-Style - Strings char zeichenkette[] = {'h', 'e', 'l', 'l', 'o', '\0'}; char zeichen[] = "hello"; cout << '\n' << "Ausgabe des Strings zeichenkette: " << zeichenkette << '\n'; Beispiele/_1010_String_.. cout << '\n' << "Ausgabe des Strings zeichen: " << zeichen << '\n'; C++ - Einführung Seite 60
61 Erläuterung h e l l o \0 Strings bestehen aus beliebigen Werten vom Datentyp char. Strings enden immer mit dem Null-Character \0, egal an welcher Position das Zeichen im Array steht. Durch die Kurzschreibweise "string" wird ein Array vom Datentyp char erzeugt. Das letzte Element in dem Array hat den Wert \0. String als Literale werden immer durch die Anführungszeichen begrenzt. C++ - Einführung Seite 61
62 Länge eines Strings #include <iostream> #include <cstring> using std::cout; int main() { char zitat[] = " To be, or not to be--that is the question: Whether 'tis nobler in the mind to suffer.\n"; } cout << "Länge des Strings: " << strlen(zitat); return 0; Beispiele/_1011_String_.. C++ - Einführung Seite 62
63 Erläuterung Die C-Standardbibliothek <cstring> definiert verschiedene Methoden für die Bearbeitung von Strings. Die Methode strlen(array) gibt die Anzahl der sichtbaren Zeichen eines Strings zurück. Der Null-Character wird nicht als sichtbares Zeichen gezählt. Die Anzahl der Elemente in dem Array kann mit Hilfe der Formel Anzahl (strlen(array) + 1) berechnet werden. C++ - Einführung Seite 63
64 String-Literale im Code cout << " To be, or not to be--that is the question: Whether 'tis nobler in the mind to suffer.\n"; cout << " To be, or not to be--that is the question:" " Whether 'tis nobler in the mind to suffer.\n"; cout << " To be, or not to be--that is the question:" " Whether 'tis nobler in the mind to suffer.\n"; Beispiele/_1011_String_.. Die Strings werden miteinander verbunden. Ein Leerzeichen zwischen den beiden Strings wird nicht automatisch eingefügt, sondern muss im String als Zeichen gesetzt werden. C++ - Einführung Seite 64
65 Aus- und Eingabestream char antwort[200]; char zitat[] = " To be, or not to be--that is the question: Whether 'tis nobler in the mind to suffer.\n"; cout << "\naus welchen Stück stammt das Zitat? Wer ist der Autor?\n"; cin >> antwort; cout << "Folgende Antwort wurde gegeben: " << antwort << '\n'; Beispiele/_1011_String_.. To be, or not to be--that is the question: Whether 'tis nobler in the mind to suffer. Aus welchen Stück stammt das Zitat? Wer ist der Autor? Hamlet Skapesheare Folgende Antwort wurde gegeben: Hamlet C++ - Einführung Seite 65
66 Ausgabestream cout << "\naus welchen Stück stammt das Zitat? Wer ist der Autor?\n"; cout ist in der Bibliothek <iostream> definiert. Mit Hilfe Hilfe der using-anweisung std::cout wird der Ausgabestream für die Nutzung freigegeben. Als Standardausgabe wird der Bildschirm genutzt. Die Spitze des Kleiner-Zeichens zeigt die Richtung an, in die der Stream umgeleitet wird. In diesem Beispiel wird der Stream von Bytes auf die Standardausgabe umgeleitet. C++ - Einführung Seite 66
67 Eingabestream cin >> antwort; cin ist in der Bibliothek <iostream> definiert. Mit Hilfe Hilfe der using-anweisung std::cin wird der Eingabestream für die Nutzung freigegeben. Die Zeichen werden standardmäßig mit der Tastatur eingegeben. Die Spitze des Größer-Zeichens zeigt die Richtung an, in die der Stream umgeleitet wird. In diesem Beispiel wird der Stream von Bytes in die Variable antwort umgeleitet. C++ - Einführung Seite 67
68 Speicherung in einem Array von char cin >> antwort; Es werden alle Zeichen bis zum ersten Leerzeichen, Tabulator oder der Eingabetaste eingelesen. Alle nach einem Leerzeichen, Tabulator oder der Eingabetaste folgenden Zeichen verbleiben im Stream. Die Obergrenze des Arrays kann beim Lesen von Zeichen überschritten werden, ohne das ein Fehler ausgegeben wird. C++ - Einführung Seite 68
69 Zeilenweise einlesen: getline() char antwort[200]; char antwort[200]; char zitat[] To be, or not to be--that is the question: char zitat[] = " To be, or not to be--that is the question: Whether 'tis nobler in the mind to suffer.\n"; Whether 'tis nobler in the mind to suffer.\n"; cout << "\naus welchen Stück stammt das Zitat? Wer ist der Autor?\n"; cout << "\naus welchen Stück stammt das Zitat? Wer ist der Autor?\n"; cin.getline(antwort, 200); cin >> antwort; cout << "Folgende Antwort wurde gegeben " << antwort << '\n'; cout << "Folgende Antwort wurde gegeben << antwort << '\n'; Beispiele/_1011_String_.. To be, or not to be--that is the question: Whether 'tis nobler in the mind to suffer. Aus welchen Stück stammt das Zitat? Wer ist der Autor? Hamlet Skapesheare Folgende Antwort wurde gegeben: Hamlet Skapesheare C++ - Einführung Seite 69
70 Arbeitsweise Es werden maximal x Zeichen (zweiter Parameter) zeilenweise in eine Variable gelesen. Falls weniger Zeichen als die maximale Anzahl von Zeichen eingegeben wurden, liest die Methode alle Zeichen bis zum Drücken der Eingabetaste (Return-Taste) ein. Die Eingabetaste wird als newline interpretiert. Das Zeichen wird aus den Buffer gelesen und durch den Null-Character '\0' in der Variablen ersetzt. C++ - Einführung Seite 70
71 Parameter Als erster Parameter wird der Methode der Name des Zielspeicherortes übergeben. In welcher Variablen wird die eingelesene Zeile gespeichert? Als zweiter Parameter wird die maximale Anzahl von Zeichen, die eingelesen werden sollen, übergeben. In diesem Beispiel ist das Limit auf 200 Zeichen festgesetzt. Es werden 199 Zeichen eingelesen. Das letzte Zeichen ist für den Null-Character reserviert. C++ - Einführung Seite 71
72 Zeilenweise einlesen: get() char antwort[200]; char antwort[200]; char zitat[] To be, or not to be--that is the question: char zitat[] = " To be, or not to be--that is the question: Whether 'tis nobler in the mind to suffer.\n"; Whether 'tis nobler in the mind to suffer.\n"; cout << "\naus welchen Stück stammt das Zitat? Wer ist der Autor?\n"; cout << "\naus welchen Stück stammt das Zitat? Wer ist der Autor?\n"; cin.get(antwort, maxzeichen); cin >> antwort; cout << "Folgende Antwort wurde gegeben " << antwort << '\n'; cout << "Folgende Antwort wurde gegeben << antwort << '\n'; Beispiele/_1011_String_... To be, or not to be--that is the question: Whether 'tis nobler in the mind to suffer. Aus welchen Stück stammt das Zitat? Wer ist der Autor? Hamlet Skapesheare Folgende Antwort wurde gegeben: Hamlet Skapesheare C++ - Einführung Seite 72
73 Arbeitsweise Mit Hilfe der Methode cin.get() werden maximal x Zeichen zeichenweise in eine Variable gelesen. Falls weniger Zeichen als die maximale Anzahl von Zeichen eingegeben wurden, liest die Methode alle Zeichen bis zum Drücken der Eingabetaste (Return-Taste) ein. Die Eingabetaste wird standardmäßig als newline interpretiert. Jedes andere Trennzeichen ist aber auch möglich. Das Zeichen verbleibt im Buffer. Die Methode gibt es in verschiedenen Varianten. Die Methode ist überladen. C++ - Einführung Seite 73
74 Parameter Als erster Parameter wird der Methode der Name des Zielspeicherortes übergeben. In welcher Variablen wird die eingelesene Zeile gespeichert? Als zweiter Parameter wird die maximale Anzahl von Zeichen, die eingelesen werden sollen, übergeben. Diese Variante entspricht der Methode.getline(). C++ - Einführung Seite 74
75 Zeilenweise einlesen: get() char antwort[200]; char antwort[200]; char zitat[] To be, or not to be--that is the question: char zitat[] = " To be, or not to be--that is the question: Whether 'tis nobler in the mind to suffer.\n"; Whether 'tis nobler in the mind to suffer.\n"; cout << "\naus welchen Stück stammt das Zitat? Wer ist der Autor?\n"; cout << "\naus welchen Stück stammt das Zitat? Wer ist der Autor?\n"; cin.get(antwort, maxzeichen, ' '); cin >> antwort; cout << "Folgende Antwort wurde gegeben " << antwort << '\n'; cout << "Folgende Antwort wurde gegeben << antwort << '\n'; Beispiele/_1011_String_... To be, or not to be--that is the question: Whether 'tis nobler in the mind to suffer. Aus welchen Stück stammt das Zitat? Wer ist der Autor? Hamlet Skapesheare Folgende Antwort wurde gegeben: Hamlet C++ - Einführung Seite 75
76 Parameter Als erster Parameter wird der Methode der Name des Zielspeicherortes übergeben. In welcher Variablen wird die eingelesene Zeile gespeichert? Als zweiter Parameter wird die maximale Anzahl von Zeichen, die eingelesen werden sollen, übergeben. Als dritter Parameter kann der Methode ein Trennzeichen für die Zeilen übergeben werden. Standardmäßig wird '\n' genutzt. In diesem Beispiel wird eine wortweise Trennung mit Hilfe des Leerzeichens genutzt. C++ - Einführung Seite 76
77 Lesen des nächsten Zeichens cin.get(); Beispiele/_1011_String_... Diese Variante liest das nächste Zeichen aus dem Buffer. Wenn das Ende der Datei (EOF) erreicht ist, liefert die Methode die symbolische Konstante EOF. Die Konstante ist in der Bibliothek <iostream> definiert. C++ - Einführung Seite 77
78 Löschen des failbits char antwort[200]; char antwort[200]; char zitat[] To be, or not to be--that is the question: char zitat[] = " To be, or not to be--that is the question: Whether 'tis nobler in the mind to suffer.\n"; Whether 'tis nobler in the mind to suffer.\n"; cout << "\naus welchen Stück stammt das Zitat? Wer ist der Autor?\n"; cout << "\naus welchen Stück stammt das Zitat? Wer ist der Autor?\n"; cin >> antwort; cin.clear(); cout << "Folgende Antwort wurde gegeben " << antwort << '\n'; Beispiele/_1011_String_.. C++ - Einführung Seite 78
79 Leeren des Buffers char antwort[200]; char antwort[200]; char zitat[] To be, or not to be--that is the question: char zitat[] = " To be, or not to be--that is the question: Whether 'tis nobler in the mind to suffer.\n"; Whether 'tis nobler in the mind to suffer.\n"; cout << "\naus welchen Stück stammt das Zitat? Wer ist der Autor?\n"; cout << "\naus welchen Stück stammt das Zitat? Wer ist der Autor?\n"; cin >> antwort; cin.ignore(10000,'\n'); cout << "Folgende Antwort wurde gegeben " << antwort << '\n'; Beispiele/_1011_String_.. Im Buffer vorhandene Zeichen werden entfernt. Es werden x Zeichen (erster Parameter) bis zum angegebenen Zeichen (zweiter Parameter) entfernt. C++ - Einführung Seite 79
80 Array und Strukturen struct umfrage { char geschlecht; int alter; double gewicht; double groesse; }; umfrage probanden[12]; probanden[0].geschlecht = 'm'; probanden[0].alter = 50; probanden[0].groesse = 1.90; probanden[0].gewicht = 90; Beispiele/_0931_Array... C++ - Einführung Seite 80
81 Deklaration umfrage probanden [ 12 ] ; structname arryname [ anzahl ] ; Der Name eines Arrays ist frei wählbar. Direkt im Anschluss an den Namen folgt die Anzahl der Elemente, in eckigen Klammern. Die Elemente sind vom Datentyp der Struktur. Die Struktur muss vor der Nutzung deklariert sein. C++ - Einführung Seite 81
82 Elemente des Arrays arrayname [ index ]... structelement structelement structelement Dem Namen des Arrays folgt, in eckigen Klammern, der Index des Elements. Das Array-Element wird mit Hilfe des Punktoperators mit dem Strukturelement verbunden. Das Strukturelement ist in dem Datentyp Struktur des Arrays definiert. C++ - Einführung Seite 82
83 Initialisierung umfrage stichprobe[12] = { {'m', 18, 2.03, 98}, {'w', 0, 1.65, 56} }; In der Initialisierungsliste wird für jedes Array-Element eine Liste für die Initialisierung der Strukturelemente angelegt. Die einzelnen Listen werden durch Kommata getrennt. C++ - Einführung Seite 83
84 Initialisierungsliste für die Strukturelement Die Initialisierungsliste beginnt und endet mit den geschweiften Klammern. Die Werte der einzelnen Strukturelemente werden durch Kommata getrennt. Die Auflistung der Werte in der Initialisierungselemente entspricht der Reihenfolge der Strukturelemente in der Deklaration der Struktur. C++ - Einführung Seite 84
85 Arbeiten mit Zeigern const int anzahlzeichen = 4; char buchstaben[anzahlzeichen] = {'A', 'B', 'C', 'D'}; char *ptrarray; int index = 0; ptrarray = buchstaben; *ptrarray = 'a'; ptrarray++; *ptrarray = 'b'; ptrarray = buchstaben; ptrarray = (ptrarray + (anzahlzeichen - 1)); Beispiele/_0941_Array... C++ - Einführung Seite 85
86 Name des Arrays const int anzahlzeichen = 4; char buchstaben[anzahlzeichen] = {'A', 'B', 'C', 'D'}; char *ptrarray; ptrarray = buchstaben; Der Name des Arrays ist ein Synonym für die Speicheradresse des ersten Elements in einem ein- oder mehrdimensionalen Array. Der Name des Arrays ist ein Platzhalter für den Beginn des Arrays im Speicher. C++ - Einführung Seite 86
87 Zeiger auf das erste Element const int anzahlzeichen = 4; char buchstaben[anzahlzeichen]; char *ptrarray; ptrarray = buchstaben; const int anzahlzeichen = 4; char buchstaben[anzahlzeichen]; char *ptrarray; ptrarray = &buchstaben[0]; Die, im Namens des Arrays gespeicherte, Adresse wird mit Hilfe des Gleichheitszeichens dem Zeiger zugewiesen. Der Zeiger auf die Elemente des Arrays und das dazugehörige Array haben den gleichen Datentyp. Der Adressoperator wird bei der Nutzung des Array-Namens nicht benötigt. C++ - Einführung Seite 87
88 Nutzung des Dekrement- und Inkrement-Operator ptrarray++; ptrarray--; Der Inkrement-Operator verschiebt den Zeiger auf das nächste Element. Der Dekrement-Operator verschiebt den Zeiger auf das vorherige Element. Der Zeiger wird um sizeof(datentyp) verschoben. C++ - Einführung Seite 88
89 Berechnung des nächsten Elements ptrarray = (ptrarray + (anzahlzeichen - 1)); Der Zeiger wird um (x * sizeof(datentyp)) verschoben. Die neue Adresse wird mit Hilfe der Speichergröße des angegebenen Datentyps berechnet. C++ - Einführung Seite 89
90 Wert des nächsten Elements cout << *(ptrarray - index) << '\n'; Der Zeiger wird um (x * sizeof(datentyp)) verschoben. Die Verschiebung muss geklammert werden. Mit Hilfe des Dereferenzierungsoperators * wird der Wert an der angegeben Position im Speicher ausgegeben. C++ - Einführung Seite 90
91 Anforderung von Speicher const int maxanzahl = 10; int index; double *ptrstart; double *tmpdouble; ptrstart = new double[maxanzahl]; tmpdouble = ptrstart; delete [] ptrstart; ptrstart = 0; Beispiele/_0942_Array... C++ - Einführung Seite 91
92 Anforderung des Speichers const int maxanzahl = 10; double *ptrstart; ptrstart = new double[maxanzahl]; Mit Hilfe des Schlüsselwortes new wird Speicher angefordert. Der Speicher wird im Heap des Rechners bereitgestellt. Dem Schlüsselwort folgt die benötigte Größe des Speicherbereichs. In diesem Beispiel wird Speicher für Elemente vom Typ double angefordert. In eckigen Klammern folgt dem Datentyp die Anzahl der Elemente. In diesem Beispiel wird ein Array von 10 Elementen vom Datentyp double erzeugt. C++ - Einführung Seite 92
93 Temporäre Speicherung der Anfangsadresse const int maxanzahl = 10; double *ptrstart; double *tmpdouble; ptrstart = new double[maxanzahl]; tmpdouble = ptrstart; Die Anfangsadresse des angeforderten Speicherbereichs wird in einem Zeiger gespeichert. Der Wert dieses Zeigers sollte nicht verändert werden. Andernfalls kann der Speicherbereich nicht mehr freigegeben werden. C++ - Einführung Seite 93
94 Temporäre Speicherung der Anfangsadresse const int maxanzahl = 10; double *ptrstart; double *tmpdouble; ptrstart = new double[maxanzahl]; tmpdouble = ptrstart; Die Anfangsadresse des angeforderten Speicherbereichs wird in einem Zeiger gespeichert. Der Wert dieses Zeigers sollte nicht verändert werden. Andernfalls kann der Speicherbereich nicht mehr freigegeben werden. C++ - Einführung Seite 94
95 Arbeiten mit Array-Elementen double *tmpdouble; ptrstart = new double[maxanzahl]; tmpdouble = ptrstart; for (index = 0; index < maxanzahl; index++){ tmpdouble[index] = index; } Im Anschluss des Namens des Zeigers wird in eckigen Klammern der Index angegeben. Der Dereferenzierungsoperator wird bei dieser Schreibweise nicht benötigt. C++ - Einführung Seite 95
96 Andere Möglichkeit double *tmpdouble; ptrstart = new double[maxanzahl]; tmpdouble = ptrstart; for (index = 0; index < maxanzahl; index++){ cout << *(tmpdouble + index) << '\n'; } Im Zeiger ist die Speicheradresse gespeichert. Diese Adresse wird um (x * Speichergröße des Datentyps) verschoben. Der Wert an der neuen Adresse wird mit Hilfe des Dereferenzierungsoperator angesprochen. C++ - Einführung Seite 96
97 Freigabe des Speichers delete [] ptrstart; ptrstart = 0; Mit Hilfe des Schlüsselwortes delete wird der angeforderte Speicher freigegeben. Zwischen dem Schlüsselwort delete und dem Namen des Zeigers stehen die eckigen Klammern. Mit Hilfe der eckigen Klammern wird dem Programm mitgeteilt, dass der Speicher für das gesamte Array freigegeben werden soll und nicht nur für das Element auf welches, aktuell verwiesen wird. C++ - Einführung Seite 97
98 Hinweise new datentyp [] wird mit der Anweisung delete [] freigegeben. new datentyp wird mit der Anweisung delete freigegeben. Wenn der Speicher nicht mit new angefordert wurde, wird der Speicher auch nicht mit delete frei gegeben. C++ - Einführung Seite 98
99 Zeiger auf Null setzen delete [] ptrstart; ptrstart = 0; Sobald der Speicher freigegeben ist, sollte der Zeiger auf Null gesetzt werden. Der Zeiger zeigt auf einen undefinierten Speicherbereich. C++ - Einführung Seite 99
100 Array und Funktionen void initialarray(int array[], int anzahlelement){ int maxanzahl = anzahlelement; } for(int index = 0; index < maxanzahl; index++) { array[index] = (index + 1) * (index + 1); } int main() { const int maxanzahl = 10; int wert[maxanzahl]; initialarray(wert, maxanzahl); Beispiele/_0951_Array... C++ - Einführung Seite 100
101 Parameter Array im Funktionskopf void initialarray(int array[], int anzahlelement) void initialarray(int *array, int anzahlelement) Der Datentyp des Arrays wird angegeben. Von welchen Typ sind die Array-Elemente? array[] übergibt die Anfangsadresse des Arrays im Speicher. Ein Zeiger, der auf ein bestimmtes Array verweist, wird übergeben. Der Funktion muss mitgeteilt werden, wie viele Elemente das Array hat. C++ - Einführung Seite 101
102 Schreibschutz void showarray(const int array[], int anzahlelement) void showarray(const int *array, int anzahlelement) Es wird ein Zeiger auf konstante Werte als Parameter definiert. C++ - Einführung Seite 102
C++ - Objektorientierte Programmierung Konstante und statische Elemente
C++ - Objektorientierte Programmierung Konstante und statische Elemente hat eine Kantenlänge hat eine Füllfarbe Kantenlänge setzen Füllfarbe lesen Volumen berechnen Leibniz Universität IT Services Anja
MehrC++ - Einführung in die Programmiersprache String (Zeichenkette)
C++ - Einführung in die Programmiersprache String (Zeichenkette) H A L L O \0 Leibniz Universität IT Services Anja Aue Strings Sammlung von Buchstaben, Zahlen, Satzzeichen, Sonderzeichen und mathematischen
MehrC++ - Einführung in die Programmiersprache Funktionen. Leibniz Universität IT Services Anja Aue
C++ - Einführung in die Programmiersprache Funktionen Leibniz Universität IT Services Anja Aue Subroutine (Unterprogramm) Lösung von Teilen einer Gesamtaufgabe. Kapselung von Anweisungen, die zu einer
MehrC++ - Objektorientierte Programmierung Konstruktoren und Destruktoren
C++ - Objektorientierte Programmierung Konstruktoren und Destruktoren hat eine Kantenlänge hat eine Füllfarbe Kantenlänge setzen Füllfarbe lesen Volumen berechnen Leibniz Universität IT Services Anja Aue
MehrZeiger. C-Kurs 2012, 2. Vorlesung. Tino Kutschbach 10.
Zeiger C-Kurs 2012, 2. Vorlesung Tino Kutschbach tino.kutschbach@campus.tu-berlin.de http://wiki.freitagsrunde.org 10. September 2012 This work is licensed under the Creative Commons Attribution-ShareAlike
MehrC# - Einführung in die Programmiersprache Arrays, Enumeration und Collections. Leibniz Universität IT Services Anja Aue
C# - Einführung in die Programmiersprache Arrays, Enumeration und Collections Leibniz Universität IT Services Anja Aue Arrays... speichern mehrere Werte vom gleichen Datentyp. fassen zusammenhängende Werte
MehrC++ - Einführung in die Programmiersprache Ein- und Ausgabe in die Konsole. Leibniz Universität IT Services Anja Aue
C++ - Einführung in die Programmiersprache Ein- und Ausgabe in die Konsole Leibniz Universität IT Services Anja Aue Eingabe (input) und Ausgabe (output) In diesem Kapitel wird nur das Lesen von und das
MehrJava - Schleifen. Bedingung. wiederhole. Anweisung Anweisung Anweisung. Leibniz Universität IT Services Anja Aue
Java - Schleifen Bedingung wiederhole ja Anweisung Anweisung Anweisung Leibniz Universität IT Services Anja Aue Anweisung int zahl; zahl = 2; zahl = zahl * 10; int zahl; ; Jede Anweisung endet mit einem
MehrElementare Datentypen in C++
Elementare Datentypen in C++ bool signed/unsigned char signed/unsigned short int signed/unsigned int signed/unsigned long int (signed/unsigned long long int) float double long double void enum char Der
MehrC++ - Objektorientierte Programmierung Vererbung
C++ - Objektorientierte Programmierung Vererbung Personen Kunden Mitarbeiter Verwaltung Verkäufer Leibniz Universität IT Services Anja Aue Vererbung Definition von Klassen auf Basis von bestehenden Klassen.
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Dynamische Datenobjekte Pointer/Zeiger, Verkettete Liste Eigene Typdefinitionen 1 Zeigeroperatoren & und * Ein Zeiger ist die Speicheradresse irgendeines Objektes. Eine
MehrGI Vektoren
Vektoren Problem: Beispiel: viele Variablen vom gleichen Typ abspeichern Text ( = viele char-variablen), Ergebnisse einer Meßreihe ( = viele int-variablen) hierfür: Vektoren ( = Arrays = Feld ) = Ansammlung
MehrC++ Teil 5. Sven Groß. 13. Mai Sven Groß (IGPM, RWTH Aachen) C++ Teil Mai / 18
C++ Teil 5 Sven Groß 13. Mai 2016 Sven Groß (IGPM, RWTH Aachen) C++ Teil 5 13. Mai 2016 1 / 18 Themen der letzten Vorlesung Funktionen Funktionsüberladung, Signatur Rekursion const-deklaration Referenzen
MehrC++ Teil 5. Sven Groß. 8. Mai IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil 5 8. Mai / 16
C++ Teil 5 Sven Groß IGPM, RWTH Aachen 8. Mai 2015 Sven Groß (IGPM, RWTH Aachen) C++ Teil 5 8. Mai 2015 1 / 16 Themen der letzten Vorlesung Live Programming zu A2 Gleitkommazahlen Rundungsfehler Auswirkung
MehrProgrammierung mit C Zeiger
Programmierung mit C Zeiger Zeiger (Pointer)... ist eine Variable, die die Adresse eines Speicherbereichs enthält. Der Speicherbereich kann... kann den Wert einer Variablen enthalten oder... dynamisch
MehrArrays (Felder/Vektoren)
Arrays (Felder/Vektoren) Zusammenfassung mehrerer Variablen des gleichen Typs unter einem Namen im Speicher direkt hintereinander abgelegt Definition: Typname Arrayname [Größe]; Beispiel: int ar [5]; Zugriff
MehrC# - Einführung in die Programmiersprache Methoden. Leibniz Universität IT Services
C# - Einführung in die Programmiersprache Methoden Leibniz Universität IT Services 02.07.12 Methoden... sind Subroutinen in einer Klasse. können einen Wert an den Aufrufer zurückgeben. verändern die Eigenschaften
Mehr+ C - Array (Vektoren, Felder)
+ C - Array (Vektoren, Felder) Eindimensionale Arrays Beim Programmieren steht man oft vor dem Problem, ähnliche, zusammengehörige Daten (vom gleichen Datentyp) zu speichern. Wenn man zum Beispiel ein
MehrC++ - Einführung in die Programmiersprache Schleifen
C++ - Einführung in die Programmiersprache Schleifen Bedingung wiederhole ja Anweisung Anweisung Anweisung Leibniz Universität IT Services Anja Aue Schleifen Iterationsanweisungen. Wiederholung von Anweisungsblöcken.
Mehr8. Referenzen und Zeiger
8. Referenzen und Zeiger Motivation Variable werden in C++ an speziellen Positionen im Speicher abgelegt. An jeder Position befindet sich 1 Byte. Sie sind durchnummeriert beginnend bei 0. Diese Positionen
MehrZeiger: Der Adressoperator &
Zeiger: Der Adressoperator & Variablen werden im Computer im Speicher abgelegt. Nach der Deklaration int a,b,c; double x,y,z; Sieht die Speicherbelegung etwa wie folgt aus: a b c x y z Jede Variable hat
Mehreinlesen n > 0? Ausgabe Negative Zahl
1 Lösungen Kapitel 1 Aufgabe 1.1: Nassi-Shneiderman-Diagramm quadratzahlen Vervollständigen Sie das unten angegebene Nassi-Shneiderman-Diagramm für ein Programm, welches in einer (äußeren) Schleife Integer-Zahlen
MehrHochschule Darmstadt Informatik-Praktikum (INF 1) WS 2014/2015 Wirtschaftsingenieur Bachelor 4. Aufgabe Datenstruktur, Dateieingabe und -ausgabe
Aufgabenstellung Für ein Baumkataster sollen für maximal 500 Bäume Informationen gespeichert werden, die alle nach der gleichen Weise wie folgt strukturiert sind: Nummer Bauminfo Baumart Hoehe Baum Umfang
MehrRO-Tutorien 3 / 6 / 12
RO-Tutorien 3 / 6 / 12 Tutorien zur Vorlesung Rechnerorganisation Christian A. Mandery WOCHE 2 AM 06./07.05.2013 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
MehrC++ Notnagel. Ziel, Inhalt. Programmieren in C++
C++ Notnagel Ziel, Inhalt Ich versuche in diesem Dokument noch einmal die Dinge zu erwähnen, die mir als absolut notwendig für den C++ Unterricht und die Prüfungen erscheinen. C++ Notnagel 1 Ziel, Inhalt
MehrProgrammierung mit C Felder; Array
Programmierung mit C Felder; Array Arrays (Felder, Vektoren)... sind zusammengesetzte Datenstrukturen.... bestehen aus mehreren Elementen, die vom selben Datentyp sind.... bestehen aus mehreren Elementen,
MehrC++ - Einführung in die Programmiersprache Standard Templates. Leibniz Universität IT Services Anja Aue
C++ - Einführung in die Programmiersprache Standard Templates Leibniz Universität IT Services Anja Aue C++ - Standardbibliothek Standardisierte Sammlung von häufig vorkommenden Funktionen und Klassen.
MehrC++ - Einführung in die Programmiersprache Header-Dateien und Funktionen. Leibniz Universität IT Services Anja Aue
C++ - Einführung in die Programmiersprache Header-Dateien und Funktionen Leibniz Universität IT Services Anja Aue Modularisierung Logische Gliederung von Programmteilen mit Hilfe von Namensräumen. Aufteilung
MehrZeiger und dynamischer Speicher
Informatik für Elektrotechnik und Informationstechnik Benedict Reuschling benedict.reuschling@h-da.de Hochschule Darmstadt Fachbereich Informatik WS 2013/14 Zuletzt aktualisiert: 09.12.2013, 07:49 Uhr
MehrVariablen in C++ Einfache Variablen Strukturen Arrays und Zeichenketten Zeiger und Referenzen Parameter Dynamische Speicherverwaltung
Variablen in C++ Einfache Variablen Strukturen Arrays und Zeichenketten Zeiger und Referenzen Parameter Dynamische Speicherverwaltung Einfache Variablen Typen int, long, short, unsigned bool char float,
MehrHochschule Darmstadt Informatik-Praktikum (INF 1) WS 2015/2016 Wirtschaftsingenieur Bachelor 5. Aufgabe Datenstruktur, Dateieingabe und -ausgabe
Aufgabenstellung Für eine Hausverwaltung sollen für maximal 500 Wohnungen Informationen gespeichert werden, die alle nach der gleichen Weise wie folgt strukturiert sind: Art Baujahr Wohnung Whnginfo Nebenkosten
MehrProgrammieren in C/C++ und MATLAB
Programmieren in C/C++ und MATLAB Sven Willert Sabine Schmidt Christian-Albrechts-Universität zu Kiel CAU 5-1 Übung Schreiben Sie ein Programm, das die Zahl π durch π = 4 4 4 4 4 4 + + +... 3 5 7 9 11
MehrDie Programmiersprache C99: Zusammenfassung
Die Programmiersprache C99: Zusammenfassung Jörn Loviscach Versionsstand: 7. Dezember 2010, 19:30 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen in der Vorlesung. Videos dazu: http://www.youtube.com/joernloviscach
MehrC Objektorientierte Programmierung Standard-Library am Beispiel von Strings. Leibniz Universität IT Services Anja Aue
C++ - - Objektorientierte Programmierung Standard-Library am Beispiel von Strings Leibniz Universität IT Services Anja Aue C++ - Standardbibliothek Standardisierte Sammlung von häufig vorkommenden Funktionen
MehrF Zeiger, Felder und Strukturen in C
F Zeiger, Felder und Strukturen in C F Zeiger, Felder und Strukturen in C F.1 Zeiger(-Variablen) 1 Einordnung Konstante: Bezeichnung für einen Wert a 0110 0001 Variable: Bezeichnung eines Datenobjekts
MehrAbgeleitete Datentypen
Abgeleitete Datentypen Prof. Dr. Markus Gross Informatik I für D-MAVT (FS 2014) Felder (Arrays) Zeichenketten (Strings) Strukturen (Structs) union, enum & typedef Arrays Ein Array ist ein Datentyp, der
MehrC# - Einführung in die Programmiersprache Bedingte Anweisungen und Schleifen
C# - Einführung in die Programmiersprache Bedingte Anweisungen und Schleifen Gehe nach links oder rechts Gehe solange geradeaus... Leibniz Universität IT Services Anja Aue Programmabläufe grafisch abbilden
MehrTeil 5: Zeiger, Felder, Zeichenketten Gliederung
Teil 5: Zeiger, Felder, Zeichenketten Gliederung Zeiger und Adressen Felder (Arrays) Zeichenketten (Strings) Zeigerarithmetik Mehrdimensionale Felder Zeiger und Adressen Felder Zeichenketten Zeigerarithmetik
MehrWintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 23
Kapitel 16 Datei Aus- und Eingabe Seite 1 von 23 Datei Aus- und Eingabe - Für die Ausgabe auf Dateien und die Eingabe von Dateien werden die Streams ofstream und ifstream verwendet. - Sie sind in der Bibliothek
MehrProjekt 3 Variablen und Operatoren
Projekt 3 Variablen und Operatoren Praktisch jedes Programm verarbeitet Daten. Um mit Daten programmieren zu können, muss es Möglichkeiten geben, die Daten in einem Programm zu verwalten und zu manipulieren.
MehrC++ - Einführung in die Programmiersprache Variablen und Konstanten. Leibniz Universität IT Services Anja Aue
C++ - Einführung in die Programmiersprache Variablen und Konstanten Leibniz Universität IT Services Anja Aue Kommentare Hilfe für den Entwickler. Wer hat wann welche Änderung vorgenommen? Warum werden
MehrRO-Tutorien 15 und 16
Tutorien zur Vorlesung Rechnerorganisation Tutorienwoche 2 am 04.05.2011 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft
MehrExcel VBA Arrays, Enumeration und benutzerdefinierte Typen
Excel VBA Arrays, Enumeration und benutzerdefinierte Typen Array (Feld)... ist aus vielen Variablen, die den gleichen Datentyp besitzen, zusammengesetzt.... fasst Elemente vom gleichen Datentyp zusammen....
MehrProgrammiertechnik. Teil 4. C++ Funktionen: Prototypen Overloading Parameter. C++ Funktionen: Eigenschaften
Programmiertechnik Teil 4 C++ Funktionen: Prototypen Overloading Parameter C++ Funktionen: Eigenschaften Funktionen (Unterprogramme, Prozeduren) fassen Folgen von Anweisungen zusammen, die immer wieder
MehrGrundlagen der Informatik 2. Typen
Grundlagen der Informatik 2. Typen Speicher, Speicherbedarf Ein-/Ausgabe Grundlagen der Informatik (Alex Rempel) 1 Wiederholung // root calculation #include #include using namespace
MehrProgrammiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny
Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny 9. Zeiger Arbeitsspeicher / Adressen Der Arbeitsspeicher des Computers (RAM) besteht aus einem Feld von Speicherzellen, beginnend bei Adresse
MehrKlausur in Programmieren
Studiengang Sensorik/Sensorsystemtechnik Note / normierte Punkte Klausur in Programmieren Wintersemester 2010/11, 17. Februar 2011 Dauer: 1,5h Hilfsmittel: Keine (Wörterbücher sind auf Nachfrage erlaubt)
Mehr2. Programmierung in C
2. Programmierung in C Inhalt: Überblick über Programmiersprachen, Allgemeines zur Sprache C C: Basisdatentypen, Variablen, Konstanten, Operatoren und Ausdrücke Anweisungen und Kontrollstrukturen (Steuerfluss)
MehrC++ Teil 2. Sven Groß. 16. Apr IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil Apr / 22
C++ Teil 2 Sven Groß IGPM, RWTH Aachen 16. Apr 2015 Sven Groß (IGPM, RWTH Aachen) C++ Teil 2 16. Apr 2015 1 / 22 Themen der letzten Vorlesung Hallo Welt Elementare Datentypen Ein-/Ausgabe Operatoren Sven
MehrProgrammierkurs C++ Variablen und Datentypen
Programmierkurs C++ Variablen und Datentypen Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer #2 Überblick Welche Datentypen gibt es in
MehrGrundlagen der Informatik 11. Zeiger
11. Zeiger Motivation Zeiger und Adressen Zeiger und Funktionen Zeiger und Arrays Dynamische Objekte Grundlagen der Informatik (Alex Rempel) 1 Motivation Dynamische Speicherverwaltung Oft müssen große
MehrBereits behandelt: Einfache Datentypen / Variablen. Schleifen und Verzweigungen. Funktionen. Heute: Felder, Zeiger, Referenzen. Freispeicherverwaltung
Kompaktkurs C++ Themen C 1 Bereits behandelt: Einfache Datentypen / Variablen Schleifen und Verzweigungen Funktionen Heute: Felder, Zeiger, Referenzen Freispeicherverwaltung Zeichenketten Kommandozeilenargumente
MehrZeichendarstellung. Zeichen sind Zahlen (in C) Zeichen und switch
darstellung Arbeiten mit darstellung werden im Computer durch (kleine) Zahlen dargestellt in C können im Datentyp char gespeichert werden, dieser umfasst ein Byte und gilt als Ganzzahltyp darstellung Arbeiten
Mehr5. Abgeleitete Datentypen
5. Abgeleitete Datentypen Prof. Dr. Markus Gross Informatik I für D-ITET (WS 03/04)!Felder (Arrays)!Zeichenketten (Strings)!Strukturen (Structs) Copyright: M. Gross, ETHZ, 2003 2 Arrays! Ein Array ist
MehrKapitel 4: Zeiger. Inhalt. Zeiger Zeigerarithmetik
Wintersemester 2005/06 Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich Informatik Lehrstuhl
MehrProgrammierkurs C++ Datenstrukturen Seite 1
Programmierkurs C++ Datenstrukturen Seite 1 3 Datenstrukturen 3.1 Arrays Zur Wiederholung als Strukturelement der Programmierung gehört auf der Seite der Datenstrukturen die Liste. Eine Liste kann auf
MehrModellierung und Programmierung 1
Modellierung und Programmierung 1 Prof. Dr. Sonja Prohaska Computational EvoDevo Group Institut für Informatik Universität Leipzig 19. November 2015 Gültigkeitsbereich (Scope) von Variablen { int m; {
MehrFelder (1) Allgemeines
Felder (1) Allgemeines Gleichartige Daten, wie Tabelle von Zahlen, Datumswerten, Namen etc. Felder (engl. Array) stellen einen Verbundtyp dar, in dem mehrere Daten desselben Typs gespeichert werden Oft
Mehr3.2 Datentypen und Methoden
Kap03.fm Seite 217 Dienstag, 7. September 2010 1:48 13 3.2 Datentypen und Methoden 217 3.2 Datentypen und Methoden Wie bei vielen höheren Programmiersprachen gibt es auch in Java einfache und strukturierte
MehrGrundlagen der Informatik 6. Arrays I
6. Arrays I Motivation Array (konstante Länge) Speicherbereich Eingabe von Arrays Grundlagen der Informatik (Alex Rempel) 1 Motivation Beispiel: Bildschirmpixel zeichnen Auflösung 800x600, d.h. insgesamt
Mehr1. Referenzdatentypen: Felder und Strings. Referenz- vs. einfache Datentypen. Rückblick: Einfache Datentypen (1) 4711 r
1. Felder und Strings Eigenschaften von Referenzdatentypen 1. Referenzdatentypen: Felder und Strings Referenzdatentypen sind Konstrukte, mit deren Hilfe wir aus einfachen Datentypen neue eigene Typen erzeugen
Mehr1. Referenzdatentypen: Felder und Strings
1. Felder und Strings Eigenschaften von Referenzdatentypen 1. Referenzdatentypen: Felder und Strings Referenzdatentypen sind Konstrukte, mit deren Hilfe wir aus einfachen Datentypen neue eigene Typen erzeugen
MehrC++ - Einführung in die Programmiersprache Fehler abfangen. Leibniz Universität IT Services Anja Aue
C++ - Einführung in die Programmiersprache Fehler abfangen Leibniz Universität IT Services Anja Aue Warnungen Hinweise auf riskanten Code. Eine Kompilierung wird nicht verhindert. Um größere Fehler zu
MehrArrays. Einleitung. Deklarieren einer Array Variablen
Arrays Einleitung bisher jede Variable einzeln deklariert: 12 3 14 12 32 32 3 32 5 3 double sum; int count; ÿ Sie können Zweck und Aufbau von Array-Datentypen erklären ÿ Sie können einen Array korrekt
MehrInhalt. 4.5 Arbeit mit Zeigern (engl. Pointer)
Inhalt Inhalt: 4. Programmiersprache C 4.1 Programmaufbau in C 4.2 Basisdatentypen und einfache Anweisungen 4.3 Steuerfluss-Konstrukte 4.4 Arbeit mit indizierten Größen (Felder) 4.5 Arbeit mit Zeigern
MehrEinführung in die Programmierung zusammengesetzte Datentypen, dynamischer Speicher
Einführung in die Programmierung zusammengesetzte Datentypen, dynamischer Speicher Arvid Terzibaschian 1 Zusammengesetzte Datentypen 2 Wozu zusammengesetzte Datentypen? Anforderung: Sie sollen ein Kundenverzeichnis
MehrFelder (Arrays) und Zeiger (Pointers) - Teil I
Felder (Arrays) und Zeiger (Pointers) - Teil I Feldtypen, Sieb des Eratosthenes, Iteration, Zeigertypen, Zeigerarithmetik, dynamische Speicherverwaltung Felder: Motivation n Wir können jetzt über Zahlen
MehrVorkurs C++ Programmierung
Vorkurs C++ Programmierung Funktionen Rückblick Operatoren logische Verknüpfungen Zusammengesetzte Operatoren ( Zuweisungsoperatoren ) Kontrollstrukturen Bedingte Anweisungen (if-abfrage, switch-konstrukt)
MehrArrays,Strings&Pointer in C/C++
Arrays,Strings&Pointer in C/C++ Vortrag Mathias Reich Am 21.5.2002 Pointer Da zur Zeit der Compelierung des Programms nicht immer der Umfang der zu bearbeitenden Daten feststeht muss man sich - in manchen
MehrInhalt. 1 Einstieg in die Welt von C Erste Schritte in C 31. Vorwort... 15
Vorwort... 15 1 Einstieg in die Welt von C 17 1.1 Die Sprache C... 17 1.2 Die C-Standardbibliothek... 18 1.3 Die nötigen Werkzeuge für C... 21 1.4 Übersetzen mit der Entwicklungsumgebung... 23 1.5 Übersetzen
MehrWertebereich und Genauigkeit der Zahlendarstellung
Wertebereich und Genauigkeit der Zahlendarstellung Sowohl F als auch C kennen bei ganzen und Floating Point-Zahlen Datentypen verschiedener Genauigkeit. Bei ganzen Zahlen, die stets exakt dargestellt werden
MehrQuiz und Übungen. C++ Übung am 19. Mai 2016
Quiz und Übungen C++ Übung am 19. Mai 2016 Was ist der Unterschied zwischen kompilierenden und interpretierenden Programmiersprachen? Was ist der Unterschied zwischen kompilierenden und interpretierenden
MehrDynamische Datentypen
Dynamische Datentypen Tupel und Folgen o Wertebereich eines Structs / einer Klasse: T1 T2... Tk Werte sind k-tupel Tupel und Folgen o Wertebereich eines Structs / einer Klasse: T1 T2... Tk Werte sind k-tupel
MehrZeiger, Arrays und Strings in C und C++
Zeiger, Arrays und Strings in C und C++ 1 Zeiger in Java und C/C++ Zeigervariable (kurz: Zeiger, engl.: pointer): eine Variable, die als Wert eine Speicheradresse enthält Java: Zeiger werden implizit für
MehrMethoden. Gerd Bohlender. Einstieg in die Informatik mit Java, Vorlesung vom
Einstieg in die Informatik mit Java, Vorlesung vom 2.5.07 Übersicht 1 2 definition 3 Parameterübergabe, aufruf 4 Referenztypen bei 5 Überladen von 6 Hauptprogrammparameter 7 Rekursion bilden das Analogon
MehrIntensivkurs C++ Tag 2: Grundlagen++ Marc Tschentscher Institut für Neuroinformatik
Intensivkurs C++ Tag 2: Grundlagen++ Marc Tschentscher Institut für Neuroinformatik www.ini.rub.de/rtcv 19.09.2017 Intensivkurs C++ 19.09.2017 Marc Tschentscher 1 Themen 1 Gültigkeitsbereiche und Namensräume
MehrAssoziative Container in C++ Christian Poulter
Assoziative Container in C++ Christian Poulter Seminar: Die Sprache C++ Mat-Nr.: 53 03 129 EMail: inf@poulter.de Christian Poulter Assoziative Container in C++ Seite 1/10 Inhalt 1. Einleitung: Container...
MehrC-Programmierung: Ausdrücke und Operatoren#Division.2F
C-Programmierung: Ausdrücke und Operatoren#Division.2F http://de.wikibooks.org/wiki/c-programmierung:_ausdrücke_und_operatoren#division_.2f This Book Is Generated By Wb2PDF using RenderX XEP, XML to PDF
MehrAusgabe:
Aufgabe 2.10: Schreiben Sie ein Programm, das zunächst die Quadratzahlen zu den Zahlen 1-10 mit Hilfe einer While- Schleife und danach die Quadratzahlen zu den Zahlen 3, 6, 9,.., 30 mit Hilfe einer For-Schleife
MehrFelder (Arrays) und Zeiger (Pointers) - Teil I
Felder (Arrays) und Zeiger (Pointers) - Teil I Felder: Motivation Wir können jetzt über Zahlen iterieren: for (int i=0; i
MehrVorlesung Programmieren
Vorlesung Programmieren Speicherverwaltung und Parameterübergabe Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Gültigkeitsbereich von
MehrAlgorithmen zur Datenanalyse in C++
Algorithmen zur Datenanalyse in C++ Hartmut Stadie 16.04.2012 Algorithmen zur Datenanalyse in C++ Hartmut Stadie 1/ 39 Einführung Datentypen Operatoren Anweisungssyntax Algorithmen zur Datenanalyse in
MehrDr. Monika Meiler. Inhalt
Inhalt 5 Referenzdatentypen - Felder... 5-2 5.1 Eindimensionale Felder - Vektoren... 5-3 5.1.1 Vereinbarung... 5-3 5.1.2 Referenzen sind keine Felder... 5-4 5.1.3 Kopieren eindimensionaler Felder... 5-6
MehrBereits behandelt: Einfache Datentypen / Variablen. Schleifen und Verzweigungen. Funktionen. Heute: Felder, Zeiger, Referenzen. Freispeicherverwaltung
Kompaktkurs C++ Themen C 1 Bereits behandelt: Einfache Datentypen / Variablen Schleifen und Verzweigungen Funktionen Heute: Felder, Zeiger, Referenzen Freispeicherverwaltung Zeichenketten Kommandozeilenargumente
Mehr10 Die Programmiersprache C99: Zusammenfassung
10 Die Programmiersprache C99: Zusammenfassung Jörn Loviscach Versionsstand: 25. September 2014, 18:40 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen beim Ansehen der Videos: http://www.j3l7h.de/videos.html
MehrZusammengesetzte Datentypen -- Arrays und Strukturen
Zusammengesetzte Datentypen -- und Strukturen Informatik für Elektrotechnik und Informationstechnik Benedict Reuschling benedict.reuschling@h-da.de Hochschule Darmstadt Fachbereich Informatik WS 2013/14
MehrInstitut für Programmierung und Reaktive Systeme. Java 2. Markus Reschke
Java 2 Markus Reschke 07.10.2014 Datentypen Was wird gespeichert? Wie wird es gespeichert? Was kann man mit Werten eines Datentyps machen (Operationen, Methoden)? Welche Werte gehören zum Datentyp? Wie
MehrÜbungspaket 23 Mehrdimensionale Arrays
Übungspaket 23 Mehrdimensionale Arrays Übungsziele: Skript: Deklaration und Verwendung mehrdimensionaler Arrays Kapitel: 49 Semester: Wintersemester 2016/17 Betreuer: Kevin, Matthias, Thomas und Ralf Synopsis:
MehrInformatik 1 ( ) D-MAVT F2010. Schleifen, Felder. Yves Brise Übungsstunde 5
Informatik 1 (251-0832-00) D-MAVT F2010 Schleifen, Felder Nachbesprechung Blatt 3 Aufgabe 1 ASCII... A > a Vorsicht: Lösen Sie sich von intuitiven Schlussfolgerungen. A ist nicht grösser als a, denn in
MehrKurze Einführung in die Programmiersprache C++ und in Root
Kurze Einführung in die Programmiersprache C++ und in Root Statistik, Datenanalyse und Simulation; 31.10.2006 Inhalt 1 Einführung in die Programmiersprache C++ Allgemeines Variablen Funktionen 2 1 Einführung
MehrC++ Teil 6. Sven Groß. 27. Mai Sven Groß (IGPM, RWTH Aachen) C++ Teil Mai / 14
C++ Teil 6 Sven Groß 27. Mai 2016 Sven Groß (IGPM, RWTH Aachen) C++ Teil 6 27. Mai 2016 1 / 14 Themen der letzten Vorlesung Musterlösung A2 Wdh.: Zeiger und Felder Kopieren von Feldern Dynamische Speicherverwaltung
MehrÜbersicht PERL. !!!! Wichtig: Nach dem Befehl einem Strichpunkt setzen!!!!
!!!! Wichtig: Nach dem Befehl einem Strichpunkt setzen!!!! Erste Zeile eines PERL-Scripts: #! /usr/bin/perl Variablen in PERL: Normale Variablen beginnen mit einem $-Zeichen Array-Variablen beginnen mit
MehrC++ Teil 7. Sven Groß. 3. Juni Sven Groß (IGPM, RWTH Aachen) C++ Teil 7 3. Juni / 16
C++ Teil 7 Sven Groß 3. Juni 2016 Sven Groß (IGPM, RWTH Aachen) C++ Teil 7 3. Juni 2016 1 / 16 Themen der letzten Vorlesung dynamische Speicherverwaltung (Wdh.) Cast bei Zeigern STL-Vektoren + Live Programming
MehrEinführung in den Einsatz von Objekt-Orientierung mit C++ I
Einführung in den Einsatz von Objekt-Orientierung mit C++ I ADV-Seminar Leiter: Mag. Michael Hahsler Syntax von C++ Grundlagen Übersetzung Formale Syntaxüberprüfung Ausgabe/Eingabe Funktion main() Variablen
MehrThemen. Formatierte und unformatierte Eingabe Bedingungsoperator Namespaces Kommandozeilenargumente
Themen Formatierte und unformatierte Eingabe Bedingungsoperator Namespaces Kommandozeilenargumente Formatierte Eingabe mit cin Die Formatierung der Eingabe ist der Ausgabe sehr ähnlich: Die Flags werden
MehrTag 4 Repetitorium Informatik (Java)
Tag 4 Repetitorium Informatik (Java) Dozent: Michael Baer Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Übersicht Arrays (Reihungen)
MehrHydroinformatik I: Referenzen und Zeiger
Hydroinformatik I: Referenzen und Zeiger Prof. Dr.-Ing. habil. Olaf Kolditz 1 Helmholtz Centre for Environmental Research UFZ, Leipzig 2 Technische Universität Dresden TUD, Dresden Dresden, 06. Januar
MehrProgrammiersprachen Einführung in C. Unser erstes C-Programm. Unser erstes C-Programm. Unser erstes C-Programm. Unser erstes C-Programm
Programmiersprachen Einführung in C Teil 2: Prof. Dr. int main (int argc, char *argv[]) int sum = 0; for (i = 0; i
MehrFelder, Zeiger und Adreßrechnung
Felder, Zeiger und Adreßrechnung Felder bestehen aus Variablen eines einzigen Datentyps. Bisher kennen wir eindimensionale Felder. In C sind Felder mit beliebigen Dimensionen möglich. Unsere räumliche
MehrDAP2 Praktikum Blatt 1
Fakultät für Informatik Lehrstuhl 11 / Algorithm Engineering Prof. Dr. Petra Mutzel, Carsten Gutwenger Sommersemester 2009 DAP2 Praktikum Blatt 1 Ausgabe: 21. April Abgabe: 22. 24. April Kurzaufgabe 1.1
Mehr