Writing a loop inside another loop is known as nested loop. Maximum level of nesting allowed in C++ is 256. We can write while
, do...while
, for
and range based for loop in a nested loop.
Table of Contents
Nested While Loop
The syntax of nested while loop is shown below
while (expression) { while (expression) { statement(s) } statement(s) }
Below is an example of nested while loop
#include <iostream> using namespace std; int main () { int i = 0; while(i < 3) { int j = 0; while(j < 5) { cout << "i = " << i << " and j = " << j << endl; j++; } i++; } return 0; }
Below is the output of above program
i = 0 and j = 0
i = 0 and j = 1
i = 0 and j = 2
i = 0 and j = 3
i = 0 and j = 4
i = 1 and j = 0
i = 1 and j = 1
i = 1 and j = 2
i = 1 and j = 3
i = 1 and j = 4
i = 2 and j = 0
i = 2 and j = 1
i = 2 and j = 2
i = 2 and j = 3
i = 2 and j = 4
Nested Do-While Loop
The syntax of nested do…while loop is shown below
do { do { statement(s) }while (expression) statement(s) }while (expression)
Below is an example of nested do…while loop
#include <iostream> using namespace std; int main () { int i = 0; do { int j = 0; do { cout << "i = " << i << " and j = " << j << endl; j++; }while(j < 5); i++; }while(i < 3); return 0; }
Below is the output of above program
i = 0 and j = 0
i = 0 and j = 1
i = 0 and j = 2
i = 0 and j = 3
i = 0 and j = 4
i = 1 and j = 0
i = 1 and j = 1
i = 1 and j = 2
i = 1 and j = 3
i = 1 and j = 4
i = 2 and j = 0
i = 2 and j = 1
i = 2 and j = 2
i = 2 and j = 3
i = 2 and j = 4
Nested For Loop
The syntax of nested for loop is shown below
for (initialization; termination; increment-decrement) { for (initialization; termination; increment-decrement) { statement(s) } statement(s) }
Below is an example of nested for loop
#include <iostream> using namespace std; int main () { for(int i = 0; i < 3; i++) { int j = 0; for(int j = 0; j < 5; j++) { cout << "i = " << i << " and j = " << j << endl; } } return 0; }
Below is the output of above program
i = 0 and j = 0
i = 0 and j = 1
i = 0 and j = 2
i = 0 and j = 3
i = 0 and j = 4
i = 1 and j = 0
i = 1 and j = 1
i = 1 and j = 2
i = 1 and j = 3
i = 1 and j = 4
i = 2 and j = 0
i = 2 and j = 1
i = 2 and j = 2
i = 2 and j = 3
i = 2 and j = 4
Nested Range-Based For Loop
The syntax of nested range-based for loop is shown below
for ( range_declaration : range_expression ) { for ( range_declaration : range_expression ) { statement(s); } statement(s); }
Below is an example of nested for loop
#include <iostream> using namespace std; int main () { int arr1[3] = {0,1,2}; int arr2[5] = {0,1,2,3,4}; for(int i : arr1) { for(int j : arr2) { cout << "i = " << i << " and j = " << j << endl; } } return 0; }
Below is the output of above program
i = 0 and j = 0
i = 0 and j = 1
i = 0 and j = 2
i = 0 and j = 3
i = 0 and j = 4
i = 1 and j = 0
i = 1 and j = 1
i = 1 and j = 2
i = 1 and j = 3
i = 1 and j = 4
i = 2 and j = 0
i = 2 and j = 1
i = 2 and j = 2
i = 2 and j = 3
i = 2 and j = 4