001
29.06.2017, 16:29 Uhr
Hans
Library Walker (Operator)
|
Hi,
zunächst einmal was zur Sprache, bzw. Ausdrucksweise:
Zitat: |
ich versuche gerade, ein Array der Dimension 20 zu erzeugen
|
Nein, dass versuchst Du nicht. Du benutzt ein Array der Dimension 1 (eins) mit 20 Elementen. Ein Array der Dimension 20 bedeutet nämlich, dass Du 20 Indices brauchst, um auf ein Element zugreifen zu können. Also:
C++: |
// 1 2 // 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 int Array[2][2][2][2][2][2][2][2][2][2][2][2][2][2][2][2][2][2][2][2];
|
Das wäre ein 20-dimensionales Array mit 2 Elementen in jeder Dimension. Ich bin mir ziemlich sicher, dass Du sowas nicht willst. - Abgesehen davon, wie sinnvoll diese Konstruktion jetzt überhaupt ist, stellt sich noch die Frage, wie man beim Benutzen den Durchblick behalten will? Also Merke: Die Dimension eines Arrays gibt an, wieviele Indices man braucht, um auf die Elemente zuzugreifen. Was Du hier als Dimension bezeichnet hast, ist jedoch die Anzahl der Elemente eines Arrays.
Zitat: |
an jeder zweiten Stelle Null und sonst aufsteigend mit den natürlichen Zahlen belegt
|
bedeutet: 1, 0, 2, 0, 3, 0, 4, 0, 5, 0 ... - denn Du musst ja mit 0 (Null) anfangen zu zählen. Dadurch ergibt es sich leider, dass a[1] das zweite Element des Arrays ist, während das erste Element a[0] ist. - Aber der Fehler kommt immer wieder mal vor, damit bist Du also nicht allein. Eindeutiger wäre, wenn Du sagst, dass Du alle ungeraden Positionen mit Null belegt haben willst und alle geraden Positionen mit den natürlichen Zahlen in aufsteigender Reihenfolge, beginnend bei 1. - Das ist nämilch auch dass, was Dein Code macht.
Damit wären wir beim Ansatz.
Zitat: |
Ist der Ansatz überhaupt grundsätzlich richtig? Also dass man mit dem Modulo-Operator arbeitet,
|
Wenn Du beim bearbeiten nur auf bestimmte Elemente zugreifen willst, bzw. bestimmte Elemente des Arrays eine gesonderte Behandlung erhalten sollen, so wie Du es hier machst, dann ist der Ansatz richtig.
Dann noch zu den "Feldern": Feld ist der deutschsprachige Ausdruck für Array. Wenn man in einigen Büchern was über Felder liesst, sind Arrays gemeint. Da ist dann oftmals von "ein- oder mehrdimensionalen Feldern" die Rede, gemeint sind aber Arrays. Was Du hier mit Feldern bezeichnest, sind die einzelnen Elemente des Arrays.
*/ -- Man muss nicht alles wissen, aber man sollte wissen, wo es steht. Zum Beispiel hier: Nachdenkseiten oder Infoportal Globalisierung. |