verständnisfrage array
-
hallo, wieso wird beidem folgenden code
#include <iostream> using namespace std; int main(){ int x[] = {16 , 31 , 8 , 11 , 64 , 3 , 26 , 45 , 32 , 13}; bool off = true; int n = 10 , i; for ( i = 0; i<=(n-1); i++){ if (x[i] % 2 == 1 ){ if (off) x[i] = 0 ; else x[i] = 1 ; off = !off; } cout << x [i] << endl ; } return 0 ; }diese ausgabe erzeugt?
16
0
8
1
64
0
26
1
32
0ich versteh nicht, woran es liegt, dass manchmal die 0 und manchmal die 1 kommt :S
-
#include <iostream> using namespace std; int main(){ int x[] = {16 , 31 , 8 , 11 , 64 , 3 , 26 , 45 , 32 , 13}; bool off = true; int n = 10 , i; // Schleife geht alle 10 Arrayelemente durch for ( i = 0; i <= (n-1); i++){ // Wenn der Wert des Elements ungerade ist (also eine Divison durch 2 // einen Rest von 1 ergibt), dann weise dem Element einen neuen // Wert (0 oder 1) zu if (x[i] % 2 == 1 ) { // Ist 'off' true wird dem Element der Wert 0 zugewiesen if (off) x[i] = 0; // sonst wird dem Element der Wert 1 zugewiesen else x[i] = 1; // "Ändere" 'off' von true auf false oder von false auf true ;) off = !off; } // Ausgabe des Elements cout << x [i] << endl ; } return 0 ; }
-
okay danke! das off = !off wars also
