Genauso, wie man manchmal verschachtelte if
-Anweisungen benötigt, ist es nicht ungewöhnlich auch Schleifen zu verschachteln. Wenn wir beispielsweise zwei Arrays mit Integern haben und jedes der Elemente miteinander multiplizieren wollen – wenn es sich um mathematische Vektoren handelt – dann benutzt man dazu am besten eine verschachtelte Schleife.
Die erste Schleife läuft durch myNums1
, während die innere Schleife durch myNums2
läuft.
// nestedLoops.cpp #include <iostream> using namespace std; int main() { const int ARRAY1_LEN = 3; const int ARRAY2_LEN = 2; int myNums1[ARRAY1_LEN] = {35, -3, 0}; int myNums2[ARRAY2_LEN] = {20, -1}; cout << "Multiplying each int in myNums1 by each" << " im MyNums2:" << endl; for(int index1 = 0; index1 < ARRAY1_LEN; ++index1) { for(int index2 = 0; index2 < ARRAY2_LEN; ++index2) { cout << myNums1[index1] << " X " << myNums2[index2] << " = " << myNums1[index1] * myNums2[index2] << endl; } } return 0; }
Multiplying each int in myNums1 by each im MyNums2: 35 X 20 = 700 35 X -1 = -35 -3 X 20 = -60 -3 X -1 = 3 0 X 20 = 0 0 X -1 = 0
Die besagten verschachtelten for
Schleifen sind in Zeile 17 und 18. Die erste Schleife durchläuft das Array myNums1
und die zweite Schleife durchläuft das Array myNums2
. Für jedes Element in myNums1
wird immer die komplette zweite Schleife ausgeführt.