Advertisement
Sekklow

ShuffleNumbersFrom1ToN

Aug 16th, 2014
329
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.26 KB | None | 0 0
  1. using System;
  2.  
  3. /// <summary>
  4. /// Write a program that enters in integer n and prints the numbers 1, 2, …, n
  5. /// in random order.
  6. /// </summary>
  7. public class RandomizeTheNumbers
  8. {
  9.     public static void CreateArray(int n)
  10.     {
  11.         int[] numbers = new int[n];
  12.  
  13.         // Fill up 'numbers' array
  14.         for (int i = 0; i < n; i++)
  15.         {
  16.             numbers[i] = i + 1;
  17.         }
  18.  
  19.         Shuffle(numbers);
  20.  
  21.         // Print out the shuffled array
  22.         for (int i = 0; i < n; i++)
  23.         {
  24.             Console.Write(numbers[i] + " ");
  25.         }
  26.     }
  27.  
  28.     public static void Shuffle<T>(T[] array) // Fisher-Yates Shuffle
  29.     {
  30.         Random rng = new Random();
  31.         var random = rng;
  32.         for (int i = array.Length; i > 1; i--)
  33.         {
  34.             // Pick random element to swap.
  35.             int j = random.Next(i); // 0 <= j <= i-1
  36.             // Swap.
  37.             T tmp = array[j];
  38.             array[j] = array[i - 1];
  39.             array[i - 1] = tmp;
  40.         }
  41.     }
  42.  
  43.     static void Main()
  44.     {
  45.         Console.WriteLine("Give me a integer n and I will give you you ther integer 1 - n in random order.");
  46.         Console.Write("n = ");
  47.         int n = int.Parse(Console.ReadLine());
  48.  
  49.         CreateArray(n);
  50.     }
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement