Show a nested loop which searches a two-dimensional array filled with random numbers uniformly distributed over 



[
1
,
…
,
20
]


{\displaystyle [1,\ldots ,20]}

.

The loops iterate rows and columns of the array printing the elements until the value 



20


{\displaystyle 20}

 is met.

Specifically, this task also shows how to break out of nested loops.



Related tasks

   Loop over multiple arrays simultaneously
   Loops/Break
   Loops/Continue
   Loops/Do-while
   Loops/Downward for
   Loops/For
   Loops/For with a specified step
   Loops/Foreach
   Loops/Increment loop index within loop body
   Loops/Infinite
   Loops/N plus one half
   Loops/Nested
   Loops/While
   Loops/with multiple ranges
   Loops/Wrong ranges


using System;
using System.Console;
using Nemerle.Imperative;
 
module NestedLoops
{
    Main() : void
    {
        def arr = array(10, 10);
        def rnd = Random();
 
        foreach ((i, j) in $[(i, j) | i in [0 .. 9], j in [0 .. 9]])
            arr[i, j] = rnd.Next(1, 21);
 
        Finish:
        {
            foreach ((i, j) in $[(i, j) | i in [0 .. 9], j in [0 .. 9]])
            {
                Write("{0}  ", arr[i, j]);
                when (arr[i, j] == 20) Finish();
            }
        }
    }
}