Hey guys,
My teacher gave me a program to look at for using arrays with methods to which it creates a series of 10 random numbers and then uses a print method to print them out on one line then, using a selection sort method to arrange them in numerical order and then uses the print method to print the new sorted numbers that were generated one the next line. However, she did not explain how this works and I am rather new to C# and Object Oriented programming and methods. I see it looks like print array was declared twice above but called only once, below is the full code. I apologize for my ignorance, I just want someone who knows what they are doing to explain how this process works, so that I could perhaps write a similar program understanding the logic.
Thanks in advance!
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Sorting
{
class sortedArray
{
static void Main(string[] args)
{
int[] myArray; //declare the array
myArray = new int[10]; //initialise the array size
testArraySort(myArray); /*Call testArraySort() to initialise the memebrs
of the array to randomn values b/w 10 & 1000*/
printArray(myArray); //Print the un-sorted array
sortArray(myArray); //selection sort the array
printArray(myArray); //Print the sorted array
}
/// initialises the array memebers with random numbers b/w 10 & 1000
static void testArraySort(int[] a)
{
Random rnd = new Random();
for (int i = 0; i <= a.GetUpperBound(0); i++)
{
a[i] = rnd.Next(10, 1000);
}
}
/// prints the bvalues held in the members of the array
static void printArray(int[] a)
{
for (int i = 0; i <= a.GetUpperBound(0); i++)
{
Console.Write("{0} ", a[i]);
}
Console.WriteLine();
}
/// uses selection sort to sort the array
static void sortArray(int[] a)
{
for (int i = 0; i <= a.GetUpperBound(0) - 1; i++)
{
int min = i;
for (int j = i + 1; j <= a.GetUpperBound(0); j++)
{
if (a[j] < a[min])
{
min = j;
}
}
if (i != min)
{
int swap = a[i];
a[i] = a[min];
a[min] = swap;
}
}
}
}
}