nested loops in Objective-C

Advertisements


Objective-C programming language allows to use one loop inside another loop. Following section shows few examples to illustrate the concept.

Syntax:

The syntax for a nested for loop statement in C is as follows:

for ( init; condition; increment )
{
   for ( init; condition; increment )
   {
      statement(s);
   }
   statement(s);
}

The syntax for a nested while loop statement in Objective-C programming language is as follows:

while(condition)
{
   while(condition)
   {
      statement(s);
   }
   statement(s);
}

The syntax for a nested do...while loop statement in Objective-C programming language is as follows:

do
{
   statement(s);
   do
   {
      statement(s);
   }while( condition );

}while( condition );

A final note on loop nesting is that you can put any type of loop inside of any other type of loop. For example, a for loop can be inside a while loop or vice versa.

Example:

The following program uses a nested for loop to find the prime numbers from 2 to 100:

#import <Foundation/Foundation.h>
 
int main ()
{
   /* local variable definition */
   int i, j;
   
   for(i=2; i<100; i++) {
      for(j=2; j <= (i/j); j++)
        if(!(i%j)) break; // if factor found, not prime
      if(j > (i/j)) NSLog(@"%d is prime\n", i);
   }
 
   return 0;
}

When the above code is compiled and executed, it produces the following result:

2013-09-07 22:40:01.004 demo[1027] 2 is prime
2013-09-07 22:40:01.005 demo[1027] 3 is prime
2013-09-07 22:40:01.005 demo[1027] 5 is prime
2013-09-07 22:40:01.005 demo[1027] 7 is prime
2013-09-07 22:40:01.005 demo[1027] 11 is prime
2013-09-07 22:40:01.005 demo[1027] 13 is prime
2013-09-07 22:40:01.005 demo[1027] 17 is prime
2013-09-07 22:40:01.005 demo[1027] 19 is prime
2013-09-07 22:40:01.005 demo[1027] 23 is prime
2013-09-07 22:40:01.005 demo[1027] 29 is prime
2013-09-07 22:40:01.005 demo[1027] 31 is prime
2013-09-07 22:40:01.005 demo[1027] 37 is prime
2013-09-07 22:40:01.005 demo[1027] 41 is prime
2013-09-07 22:40:01.005 demo[1027] 43 is prime
2013-09-07 22:40:01.005 demo[1027] 47 is prime
2013-09-07 22:40:01.005 demo[1027] 53 is prime
2013-09-07 22:40:01.005 demo[1027] 59 is prime
2013-09-07 22:40:01.005 demo[1027] 61 is prime
2013-09-07 22:40:01.005 demo[1027] 67 is prime
2013-09-07 22:40:01.005 demo[1027] 71 is prime
2013-09-07 22:40:01.005 demo[1027] 73 is prime
2013-09-07 22:40:01.005 demo[1027] 79 is prime
2013-09-07 22:40:01.005 demo[1027] 83 is prime
2013-09-07 22:40:01.005 demo[1027] 89 is prime
2013-09-07 22:40:01.005 demo[1027] 97 is prime


Advertisements
Advertisements