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.## 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

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

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

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 = 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

Hello Every One thanks For Visit My site You Can Suggest any Idea About site And Related Education Information Provide me Its Best Content For you am Include in this Site And feel free contact And email now I hope This site very help full you