2013-02-10 3 views
0

Как вы программируете C# для создания массива из 1000 случайных чисел от 1 до 100.Как сделать массив из 1000 случайных чисел между 1-100

И как вы можете получить, когда человек входит в число, например. 68 как вы можете сделать программу, говорят, что 68 появляется так и так много раз или что она вообще не работает!

Я не прошу полного ответа. Мне просто нужен подсказку, с чего начать.

Вот что я знаю:

я должен использовать случайную функцию и если, но я не знаю, что надеть, где!

+1

Заранее я хотел бы сказать спасибо всем, кто помогает – user1726553

ответ

2
int[] iArray = new int[1000]; 
int counter = 0; 
Random random = new Random(); 
for(int i = 0; i < 1000; i++){ 
    iArray[i] = random.Next(1, 101); //1 - 100, including 100 
} 
int number = Convert.ToInt32(Console.ReadLine()); 
foreach(int i in iArray){ 
    if(i == number)count++; 
} 
Console.WriteLine("The number "+ number+" appears "+count+" times!"); 
+0

Okay спасибо за эту часть, так что все, что я нужна для следующей части я постараюсь что THx – user1726553

+0

:-) ОК нп @ user1726553 –

+0

делать и знаете, как к другой части? – user1726553

0

Начните с for loop, в каждом итерационном вызове random function и поместить результат в public list. После этого вы создаете диалоговое окно для ввода пользователем числа. Вы можете посещать с lambda expression в списке, чтобы узнать, сколько матчей вы получите.

+0

thx много помогли – user1726553

0

Сделать массив из 1000 случайных чисел от 1 до 100 и когда человек входит в число, например. 68, как вы можете сделать программу говорят 68 появляется так и так много раз

Я думаю, что вы ищете метод, как это:

private static Random rnd = new Random(); 

public static IEnumerable<int> getRandomNumbers(int count, int lowerbound, int upperbound, int specialNumber = int.MinValue, int specialNumberCount = int.MinValue) 
{ 
    List<int> list = new List<int>(count); 
    HashSet<int> specialNumPositions = new HashSet<int>(); 

    if (specialNumberCount > 0) 
    { 
     // generate random positions for the number that must be create at least n-times 
     for (int i = 0; i < specialNumberCount; i++) 
     { 
      while (!specialNumPositions.Add(rnd.Next(0, count))) 
       ; 
     } 
    } 

    while (list.Count < count) 
    { 
     if (specialNumPositions.Contains(list.Count)) 
      list.Add(specialNumber); 
     else 
      list.Add(rnd.Next(lowerbound, upperbound + 1)); 
    } 
    return list; 
} 

который можно использовать таким образом:

// ensure that 68 is generated at least 10 times 
var list = getRandomNumbers(1000, 1, 100, 68, 10); 

Demo

Если вместо этого вы просто хотите знать, как часто появляется номер в списке, вы можете и^Linq:

int count = list.Count(i => i == 68); 
Смежные вопросы