Heute wollen wir Schleifen verschachteln. Naja, das klingt wie die Geschenke zu Weihnachten, aber leider ist dem nicht so. Verschachteln von Schleifen, ist eine Methode, um eine Schachtel innerhalb der anderen zu integrieren. Es läuft quasi eine kleine Schleife innerhalb einer Großen.
Wozu braucht man sowas?
Ein klassisches Beispiel ist die Uhrzeit. Wenn wir da Stunden und Minutenzeiger ansehen, sind die Stunden die äußere Schleife und die Minuten die Innere. Theoretisch kann man immer weiter innere Schleifen bauen, aber soweit ich weiß ist das nicht üblich und wird mit der Zeit etwas unübersichtlich.
Mal zum Grundkonstrukt einer inneren Schleife, bzw. Verschachtelung. Wobei eine Verschachtelung für alles Mögliche gültig sein kann. For, if, while ... Es bedeutet eigentlich nur, dass ein Code innerhalb des anderen Codes ausgeführt wird.
Bei einer For-Schleife sieht es so aus:
for(init Stundenzeiger;Bedingung;Iteration)
{ for(init Minutenzeiger schleife_innnen;Bedingung;Iteration){
}
}
Wenn wir dieses Uhrbeispiel hernehmen, und wir beim Stundenzeiger 0-12 und Minutenzeiger 0-59 annehmen, dann läuft die innere Schleife (Minutenzeiger) als erstes von 0 bis 59, dann erst geht die äußere Schleife (Stundenzeiger) auf 1 usw.
Für ein kleineres Beispiel lassen wir jetzt x die äußere Schleife sein und bis 5 zählen, während die innere Schleife y schon bis 5 gezählt hat, bevor x einen Schritt weitergeht.
#include
int main (){
for (int x = 0 ; x <=5;x++){ // äußere Schleife
for (int y = 0 ; y <=5;y++){//innere Schleife
std::cout << "x:" << x << "\ty: " << y << "\n";
}//Ende der inneren Schleife
}//Ende der äußeren Schleife
return 0;
}