2011-12-16 9 views
-1

私は数字を1から9の順番で並べる方法を持っています。各番号は1回だけ表示されます。メソッドは整数テーブルを返す必要があります。C#メソッドとテーブルの乱数

これは私のコードで壁に面しているので、私はこのコードでアイデアを使い果たしました。 私はこのコードが100%間違っていることを知っています。

class Program 
    { 
     static void Main(string[] args) 
     { 
      int luvut = { 1, 2, 3, 4, 5, 6, 7, 8, 9 }; 
      Console.WriteLine(luvut); 
      Console.ReadKey(); 
     } 

     private static int Kuuluuko(int luvut) 
     { 
      for (int i = 0; i < luvut.Length; i++) 
      { 

       return; 

      } 
     } 
    } 
} 
+0

だから、「クルー子」はそれらを無作為化すると思われますか?何を試しましたか?また、これをコンパイルすると、どのようなエラーが発生しますか? – Prescott

+0

Fisher-Yates shuffleを参照してください。 –

+0

あなたがしたいことを明確に説明してください。明確な質問ではありません –

答えて

1
var randomNumbers = Enumerable.Range(1,9).OrderBy(n => Guid.NewGuid()).ToList(); 
+2

サンプルコードを見ると、私はちょうど働く答えを与えるのが大いに役立つだろうと確信していません:) – Rawling

+0

穴のメソッドコードを入れてください。 – coodienoobie

+3

@DannyChen:OPはC#の本当に初心者です素晴らしいですが、これは彼を助けるでしょうか? – Fischermaen

0

何、このようなものでしょうか?リストを作成し、それらを使用するときにそのリストから番号を削除します。ボールのような数字やそのようなもの:

var numbers = new List<int>(new[]{ 1, 2, 3, 4, 5, 6, 7, 8, 9}); 
var randomnumbers = new List<int>(); 
var rnd = new Random(); 
while(numbers.Count > 0){ 
    var index = rnd.Next(0, numbers.Count); 
    randomnumbers.Add(numbers[index]); 
    numbers.RemoveAt(index); 
} 
//randomnumbers now contain the random sequence 
0

あなたのコードにはいくつかのエラーがあり、コンパイルさえできません。

class Program 
{ 
    static void Main(string[] args) 
    { 
     int[] luvut = { 1, 2, 3, 4, 5, 6, 7, 8, 9 }; 
     Console.WriteLine(Kuuluuko(luvut)); 
     Console.ReadKey(); 
    } 
    private static int Kuuluuko(int[] luvut) 
    { 
     var random = new Random(); 
     return luvut[random.Next(0, luvut.Length)]; 
    } 
} 
+0

ですか?それはまだKuuluukoメソッドを呼び出すことはありません:) – Hybrid

+0

ああ、今それはありません!しかし、それはまだ並べ替えられたリストではなく、リストから1つのintを返すだけです。 – Hybrid

+0

@Hybrid:はい、私はKuuluukoへの電話を逃しました(フィンランド語ではどういう意味ですか?)。 – Fischermaen