티스토리 뷰
AT2
//requirements. //Portfolio Assessment Activity AT1.3 //Q.6 Create a Windows Forms Application that sorts a list of random number by using the Shell Sort //algorithm. The program must use an Array of 29 integers. After each iteration the program must //display the Array. //procedure shellSort(array[]) //gap = array length //WHILE gap > 0 //FOR i = 0 TO arraylength-1 // j = i; //temp = array[i]; //WHILE j >= gap AND array[j - gap] > temp //array[j] = array[j - gap]; //j = j - gap; //END WHILE //array[j] = temp; //END FOR //gap = gap/2; //END WHILE //End procedure //For this activity, zip up the project folder and then upload. --result using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; using System.Windows.Forms; namespace AT1._3 { public partial class Form : System.Windows.Forms.Form { //Define the length of array and name of array static int max = 29; int[] myArray = new int[max]; public Form() { InitializeComponent(); //Fill random interger number between 0 to 100 Random rand = new Random(); for (int i = 0; i < max; i++) { myArray[i] = rand.Next(100); } //Show unsorted list of number ShowArrayList(); } private void btnsort_Click(object sender, EventArgs e) { //Define some veriables int i, j, temp,gap = myArray.Length; //When gap is below than 0, escape the loop while(gap>0) { for (i = 0; i < (myArray.Length); i++) { //keep the number of i to j j = i; //keep the data on myArray[i] to temp temp = myArray[i]; //j>=gap -- Run while when j(i) is bigger than gap, for example change i=14, gap=14 //myArray[j-gap]>temp -- Change the order when the first one is bigger. for example change myArray[0] and myArray[14] while ((j>=gap) && (myArray[j-gap]>temp)) { //Swap the data, Using temp //Swap A and B Using temp //temp=B, B=A, A=temp myArray[j] = myArray[j - gap]; j = j - gap; } myArray[j] = temp; ShowArrayList(); }//End of for //Devide gap by 2 if (gap / 2 != 0) gap = gap / 2; //When the gap is 1, make 0 and escape while roop else if (gap == 1) gap = 0; //Otherwise, make it 1 and run final roop else gap = 1; } //Show array function ShowArrayList(); } private void ShowArrayList() { //clear listbox first listarray.Items.Clear(); //Using for statement, show every array till 29th of array for (int i = 0; i < max; i++) { listarray.Items.Add(myArray[i]); } }// End of ShowArrayList } }
before / after
'AU Study > TAFE Assessment' 카테고리의 다른 글
C sharp programming AT 1.1 (0) | 2017.10.25 |
---|---|
C sharp programming AT 1.2 (0) | 2017.10.25 |
C sharp programming AT 1.4 (0) | 2017.10.25 |
Javascript Portfolio (0) | 2017.10.24 |
C sharp programming AT 2 (1) | 2017.10.22 |
댓글