2013-03-01 110 views
-1
using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 

namespace SkihopperOpgave 
{ 
class Program 
{ 
    static void Main(string[] args) 
    { 
     string deltagerNavn = " "; 
     int hopLængde = 0; 
     string[] deltager = new string[5]; 
     int[] hopLængder = new int[5]; 
     string[] pladsNumre = new string[5] { "1. ", "2. ", "3. ", "4. ", "5. " }; 

     for (int i = 0; i < deltager.Length; i++) 
     { 
      Console.Write("Indtast deltagernavn: "); 
      deltager[i] = Console.ReadLine(); 

      Console.Write("Indtast hoplængde for deltager: "); 
      hopLængder[i] = Convert.ToInt32(Console.ReadLine()); 


      for (int j = hopLængder.Length-1; j>0; j--) //Bubblesort 
      { 
       for (int k = 0; k < j; k++) 
       { 
        int b = hopLængder[k]; 
        hopLængder[k] = hopLængder[k+1]; 
        hopLængder[k+1] = b; 
       } 
      } 
      for (int s = 0; s < deltager.Length; s++) 
      { 
       Console.WriteLine(pladsNumre[s] + hopLængder[s] + deltager[s]); 
      } 


     } 

    } 
} 
} 

我想創建一個程序,通過排序他們的跳躍距離(hoplængde),打印出一個排序列表的跳臺跳球(deltagere)。發生的事情是,用戶首先輸入滑雪跳繩的名稱,然後輸入跳躍距離。然後,程序應該打印出的排序列表的格式如下:1,80約翰(換行)2. 45馬克...等打印排序的陣列

每次在一個滑雪跳線用戶類型,應打印的列表中,與所有距離按降序排列。 我們爲您的滑雪運動員和他們的距離,這兩個名字的數組,但我有麻煩就如何我的第一個元素int數組與字符串數組的第一個元素以及如何正確排序,這連接每次迭代。 我試着爲作業創建一個bubblesort,但是我得到錯誤的結果。

+2

這是家庭作業;)?所有的 – 2013-03-01 12:14:40

+0

首先,你冒泡排序是不正確的,它總是切換的元素,順序無論他們如何相互比較。然後,如果您需要在兩個長度索引上切換位置,則還需要在相同索引上切換名稱(因此名稱和長度使用相同的位置)。 – 2013-03-01 12:16:56

+0

只是一個簡短的提示(其餘的是你的作業):創建一個名稱和距離類「跳躍者」。創建一個列表(),輸入值的臨時變量後。新增(新霍珀(名稱,距離))填充,然後使用的.sort()對列表進行排序。 – Fischermaen 2013-03-01 12:17:57

回答

1

看看靜態方法的Array.Sort()的重載 - 它可以做你想做的。

此外,您應該閱讀關於SortedList <>類 - 它可能是更好的選擇您的任務和使用已發佈(由Fischerman)宣佈實體類的評論。

我認爲這是足夠的提示作業=)