C++ Nested Loops
A loop can be nested inside another loop. C++ allows at least 256 levels of nesting.
Syntax
The syntax for nested for loops in C++:
for ( init; condition; increment )
{
for ( init; condition; increment )
{
statement(s);
}
statement(s); // More statements can be placed here
}
The syntax for nested while loops in C++:
while(condition)
{
while(condition)
{
statement(s);
}
statement(s); // More statements can be placed here
}
The syntax for nested do...while loops in C++:
do
{
statement(s); // More statements can be placed here
do
{
statement(s);
} while( condition );
} while( condition );
It's worth noting that you can nest any type of loop within any other type of loop. For example, a for loop can be nested inside a while loop, and vice versa.
Example
The following program uses a nested for loop to find prime numbers between 2 and 100:
#include <iostream>
using namespace std;
int main ()
{
int i, j;
for(i=2; i<100; i++) {
for(j=2; j <= (i/j); j++) {
if(!(i%j)) {
break; // If a factor is found, it's not a prime
}
}
if(j > (i/j)) {
cout << i << " is a prime number\n";
}
}
return 0;
}
When the above code is compiled and executed, it produces the following result:
2 is a prime number
3 is a prime number
5 is a prime number
7 is a prime number
11 is a prime number
13 is a prime number
17 is a prime number
19 is a prime number
23 is a prime number
29 is a prime number
31 is a prime number
37 is a prime number
41 is a prime number
43 is a prime number
47 is a prime number
53 is a prime number
59 is a prime number
61 is a prime number
67 is a prime number
71 is a prime number
73 is a prime number
79 is a prime number
83 is a prime number
89 is a prime number
97 is a prime number