/// ------------------------------------------------------------
/// <summary>
/// Creates a stack containing unique random numbers</summary>
/// <param name="lower">The lower bound for each number (inclusive)</param>
/// <param name="upper">The upper bound for each number (inclusive)</param>
/// <param name="count">The number of numbers</param>
/// <returns>The stack containing unique random numbers</returns>
/// ------------------------------------------------------------
public static Stack<int> Opdr3RandomNumbers(int lower, int upper, int count)
{
Stack<int> stack = new Stack<int>();
HashSet<int> voorgekomenGetallen = new HashSet<int>();
Random randomNumber = new Random();
while (stack.Count < count)
{
int number = randomNumber.Next(lower, upper);
bool hasOccurred = occurredNumbers.Contains(number);
while (hasOccurred) {
number = randomNumber.Next(lower, upper);
hasOccurred = occurredNumbers.Contains(number);
}
stack.Push(number);
occurredNumbers.Add(number);
}
return stack;
}
/// ------------------------------------------------------------
/// <summary>
/// Creates a stack containing unique random numbers</summary>
/// <param name="lower">The lower bound for each number (inclusive)</param>
/// <param name="upper">The upper bound for each number (inclusive)</param>
/// <param name="count">The number of numbers</param>
/// <returns>The stack containing unique random numbers</returns>
/// ------------------------------------------------------------
public static Stack<int> Opdr3RandomNumbers(int lower, int upper, int count)
{
Stack<int> stack = new Stack<int>();
HashSet<int> voorgekomenGetallen = new HashSet<int>();
Random randomNumber = new Random();
while (stack.Count < count)
{
int number = randomNumber.Next(lower, upper);
bool hasOccurred = occurredNumbers.Contains(number);
while (hasOccurred) {
number = randomNumber.Next(lower, upper);
hasOccurred = occurredNumbers.Contains(number);
}
stack.Push(number);
occurredNumbers.Add(number);
}
return stack;
}