Advertisement
tvarbanov

CSharp2-03-09

Jan 4th, 2014
44
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.20 KB | None | 0 0
  1. using System;
  2.  
  3. class MaxElementMethod
  4. {
  5.     /*Write a method that return the maximal element in a portion of array of integers starting at given index.
  6.      * Using it write another method that sorts an array in ascending / descending order.*/
  7.  
  8.     static int MaxElement(int index,int[] array)
  9.     {
  10.         int maxElement = 0; // keeps the maxelement number
  11.         int indexOfMaxElement = 0; // keeps the index of the max element
  12.         for (int i = index; i < array.Length; i++)
  13.         {
  14.             if (array[i] > maxElement) // every bigger number is stored
  15.             {
  16.                 maxElement = array[i];
  17.                 indexOfMaxElement = i;
  18.             }
  19.         }
  20.         return indexOfMaxElement;
  21.     }
  22.  
  23.     static int[] SortDescending (int[] array)
  24.     {
  25.         int temp = 0;
  26.         int maxElem = 0;
  27.         int[] descArray = new int[array.Length]; //new array to store sorted array
  28.         for (int i = 0; i < array.Length; i++)
  29.         {
  30.             maxElem = MaxElement(i, array);
  31.             descArray[i] = array[maxElem];
  32.             //Change position of sorted elements
  33.             temp = array[i];
  34.             array[i] = array[maxElem];
  35.             array[maxElem] = temp;
  36.         }
  37.         return descArray;
  38.     }
  39.  
  40.     static int[] SortAscending(int[] array)
  41.     {
  42.         int temp = 0;
  43.         int maxElem = 0;
  44.         int[] ascArray = new int[array.Length]; //new array to store sorted array
  45.         for (int i = 0; i < array.Length; i++)
  46.         {
  47.             maxElem = MaxElement(i, array);
  48.             ascArray[array.Length-1-i] = array[maxElem];
  49.             //Change position of sorted elements
  50.             temp = array[i];
  51.             array[i] = array[maxElem];
  52.             array[maxElem] = temp;
  53.         }
  54.         return ascArray;
  55.     }
  56.  
  57.     static void Main()
  58.     {
  59.         //Predefined array
  60.         int[] arrayOfNums = { 1, 5, 9, 9, 5, 3, 1, 8, 6, 4, 6, 9, 2, 8, 3, 4, 9 };
  61.  
  62.         Console.WriteLine("Unsorted array: " + string.Join("", arrayOfNums));
  63.         Console.WriteLine("Descending sort: " + string.Join("", SortDescending(arrayOfNums)));
  64.         Console.WriteLine("Ascending sort: " + string.Join("", SortAscending(arrayOfNums)));
  65.     }
  66. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement