-3

I am looking to print 20 random numbers. Is it possible to do this with a for loop; and if it is, how can I do it?

Here is my current code:

    int[] randomNum = new int[20];
    Random RandomNumber = new Random();
    for (int i = 0; i < 20; i++)
    {
        randomNum[i] = RandomNumber.Next(1, 80);

    }


    foreach (int j in randomNum)
    {

        Console.WriteLine("First Number:{0}", j);
        Thread.Sleep(200);
    }
Tom
  • 3,450
  • 22
  • 31
Dexter
  • 1
  • 1

4 Answers4

2

Just loop the number generation until it generated a new number:

int[] randomNum = new int[20];
Random RandomNumber = new Random();
for (int i = 0; i < 20; i++)
{
    int number;
    do
    {
        number = RandomNumber.Next(1, 80);          
    } while(randomNum.Contains(number));

    randomNum[i] = number;
}

foreach (int j in randomNum)
{
   Console.WriteLine("First Number:{0}", j);
   Thread.Sleep(200);
}
dustinmoris
  • 3,195
  • 3
  • 25
  • 33
1

According to your last comment, I would say:

for (int i = 0; i < 20; i++)
{
    int num;
    do
    {
         num = RandomNumber.Next(1, 80);
    } while (randomNum.Contains(num));

    randomNum[i] = num;
}
ConnorsFan
  • 70,558
  • 13
  • 122
  • 146
0

Why you used array for this? If you want to print random numbers, you can write this.

       Random RandomNumber = new Random();

        for (int i = 0; i < 20; i++)
        {
            int randomNum = RandomNumber.Next(1, 80);
            Console.WriteLine("Number:{0}", randomNum);
            Thread.Sleep(200);
        }
Nalaka
  • 1,165
  • 7
  • 12
-1

you don't need in randomNum. Just do it so:

  for (int i = 0; i < 20; i++)
    {
        Console.WriteLine("First Number:{0}", RandomNumber.Next(1, 80));
    }

If you wanna avoid dublication, do so:

 List<int> intList = new List();
 for (int i = 0; i < 20; i++)
   {
          int r =  RandomNumber.Next(1, 80);
          foreach(int s in intList) if(s!=r){
                intList.Add(s);
                Console.WriteLine("First Number:{0}", RandomNumber.Next(1, 80));
            }else i--;
   }