Re: Schaltuhr Programmierung Kategorie: Programmierung (von Thomas - 3.12.2004 14:32) | ||
Als Antwort auf Re: Schaltuhr Programmierung von guido - 3.12.2004 11:53 | ||
| ||
Hallo Guido, > aber das mit dem mehrdimensionalen Array habe ich noch nicht Verstanden???? > Kann mir das bitte jemand noch etwas ausschweifender erklären ? in der Eile ist in dem Beispiel die Definiton bwz. Benutzung der Variablen verkehrt herum. Vermutlich ist es deswegen für Dich nicht so einfach nachvollziehbar. Korrekt wäre: type myTime { int zeit[8]; } myTime schaltuhr[6]; Als Erläuterung: Mit type myType definierst Du einen eigenen Datentypen. Analog zu int a; kannst Du diesen via myType a; benutzen. Mit type myType { int zeit[8]; }; wird ein Datentyp definiert der ein Array enthält / darstellt. Mit myType schaltuhr; gibt es dann eine Variable schaltuhr vom Typen myType. Gültige Zugriffe auf diese Variable wären: schaltuhr.zeit[0] = ... schaltuhr.zeit[1] = ... schaltuhr.zei[2] = ... ... schaltuhr.zeit[7] = ... Wenn nun schaltuhr selbst als Array definiert wird: myType schaltuhr[6]; Gibt es ein Array (schaltuhr[0] - schaltuhr[5] und zu jedem Element des Arrays eine Varaible des Typen myType. Gültige Zugriffe sind dann: schaltuhr[0].zeit[0] = ... schaltuhr[0].zeit[1] = ... schaltuhr[0].zeit[2] = ... schaltuhr[0].zeit[3] = ... schaltuhr[0].zeit[4] = ... schaltuhr[0].zeit[5] = ... schaltuhr[1].zeit[0] = ... schaltuhr[1].zeit[1] = ... schaltuhr[1].zeit[2] = ... schaltuhr[1].zeit[3] = ... schaltuhr[1].zeit[4] = ... schaltuhr[1].zeit[5] = ... .... schaltuhr[7].zeit[0] = ... schaltuhr[7].zeit[1] = ... schaltuhr[7].zeit[2] = ... schaltuhr[7].zeit[3] = ... schaltuhr[7].zeit[4] = ... schaltuhr[7].zeit[5] = ... Es gibt also 8 Arrayelemente schaltuhr mit jeweils 6 Arrayelementen zeit - in der Summe also 48 Integervariablen. Das Array kann nun sehr schön mit zwei Schleifen bearbeitet werden: int i, j; for i = 0 ...7 { // äussere Schleife - schaltuhren for j = 0 ...5 { // innere Schleife - zeit je schaltuhr schaltuhr[i].zeit[j] = .... } } Letztendlich ist es aber auch nichts anders als int schaltuhr[47]; for i = 0 ...7 { // äussere Schleife - schaltuhren for j = 0 ...5 { // innere Schleife - zeit je schaltuhr schaltuhr[i*8 + j] = .... } } Im zweidimensionalen Array ist die Wartung und Lesbarkeit natürlich viel besser. Durch die Implementierung wird auf Anhieb Sinn und Funktion deutlich. Beste Grü�e Thomas | ||
Antwort schreiben Antworten: Re: Schaltuhr Programmierung (von guido - 5.12.2004 14:01) Re: Schaltuhr Programmierung (von André H. - 19.12.2004 0:14) Re: Schaltuhr Programmierung (von Thomas - 5.12.2004 22:29) |