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