{
public static
void Main(string[]
args)
{
int intno;
if (args.Length == 0)
{
Console.WriteLine("Please
enter a parameter eg. unique 5");
return;
}
else
{
intno = Int32.Parse(args[0]);
if (intno < 1)
{
// Check to see if user has entered
value >= 1
// because my LowerBound is
hardcoded to 1
Console.WriteLine("Enter
value greater than or equal to 1");
return;
}
}
unique_random generateit =
new unique_random();
generateit.create_random(intno);
}
}
{
public void
create_random(int passed_intno)
{
int LowerBound = 1;
int UpperBound = passed_intno;
bool firsttime =
true;
int starti = 0;
int[] vararray;
vararray = new
int[UpperBound];
// Random Class used here
Random randomGenerator =
new Random(DateTime.Now.Millisecond);
do
{
int nogenerated =
randomGenerator.Next(LowerBound, UpperBound + 1);
// Note: randomGenerator.Next generates
no. to UpperBound - 1 hence +1
// i got stuck at this pt &
had to use the debugger.
if (firsttime)
// if (firsttime == true)
{
vararray[starti] = nogenerated;
// we simply store the nogenerated in
vararray
firsttime = false;
starti++;
}
else // if
(firsttime == false)
{
bool duplicate_flag =
CheckDuplicate(nogenerated, starti, vararray);
// call to check in array
if (!duplicate_flag)
// duplicate_flag == false
{
vararray[starti] = nogenerated;
starti++;
}
}
} while (starti < UpperBound);
PrintArray(vararray); // Print the array
}
public bool
CheckDuplicate(int newrandomNum,
int loopcount, int[]
function_array)
{
bool temp_duplicate =
false;
for (int
j = 0; j < loopcount; j++)
{
if (function_array[j] ==
newrandomNum)
{
temp_duplicate = true;
break;
}
}
return temp_duplicate;
}
// Print Array
public
static void PrintArray(Array
arr)
{
Console.Write("{");
int count = 0;
int li = arr.Length;
foreach (object
o in arr)
{
Console.Write("{0}",
o);
count++;
//Condition to check whether ',' should be
added in printing arrray
if (count < li)
Console.Write(",
");
}
Console.WriteLine("}");
}
}