Wie am besten Code verkürzen bei der Ausgabe von mehrdimensionalen Arrays?
-
Hallo,
ich möchte, wie der eigentliche Titel es schon sagt, einen großen mehrdimensionalen Array möglichst mit wenig Codezeilen ausgeben. Jedoch weiß ich jetzt nicht wie man es am besten machen kann. Mein Code besteht aus einen Array und wird mittels einer for-Schleife ausgeben, wobei schon alleine die for-Schleife 12 Zeilen lang ist(ohne die geschweiften Klammern). Wie könnte man nun am einfachsten das in einer einzingen for-Schleife ausgeben? Hier mein Code:
#include <cstdlib> #include <iostream> using namespace std; int main(int argc, char *argv[]) { // Deklaration des Arrays int array[2][3][2]; // Initialisieren des Arrays array[0][0][0] = 1; array[0][0][1] = 2; array[0][1][0] = 3; array[0][1][1] = 4; array[0][2][0] = 5; array[0][2][1] = 6; array[1][0][0] = 7; array[1][0][1] = 8; array[1][1][0] = 9; array[1][1][1] = 10; array[1][2][0] = 11; array[1][2][1] = 12; // Chronologische ausgabe des Arrays for(int i = 0; i < 2; i++) cout << array[0][0][i] << endl; for(int i = 0; i < 2; i++) cout << array[0][1][i] << endl; for(int i = 0; i < 2; i++) cout << array[0][2][i] << endl; for(int i = 0; i < 2; i++) cout << array[1][0][i] << endl; for(int i = 0; i < 2; i++) cout << array[1][1][i] << endl; for(int i = 0; i < 2; i++) cout << array[1][2][i] << endl; system("PAUSE"); return EXIT_SUCCESS; }
-
Einfach für jede Dimension eine Schleifen"ebene" ineinanderschachteln:
#include <iostream> using namespace std; int main() { int array[2][3][2]; //Array füllen spare ich mir for(int i = 0; i < 2; ++i) { for(int j = 0; j < 3; ++j) { for(int k = 0; k < 2; ++k) { cout << array[i][j][k] << endl; } } } }Felix
-
Vielen Dank!
