Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Random


Автор: darel86 23.3.2010, 15:16
Здравствуйте!
Генерирую число
Код

Random randomChisloB = new Random();
chisloB = Convert.ToInt32(randomChisloB.Next() % summa);

затем 
Код

while (bukva == -1)//в цикле находим промежуток из массива вероятностей символов, в который попадает сгенерированное число
{
x += stroka[0, cchetchik];
if (chisloB == summa || (chisloB >= (x - stroka[0, cchetchik]) && chisloB < x))
{
bukva = stroka[1,cchetchik];
}
 cchetchik += 1;
}

Получается подряд например 
Код

15 15 15 15 15 15 15 17 17 17 17 17 17 17 17 17 13 13 13 13 13 13 13 13 13 13 13 13 ну и т.д.

Не подскажите почему?

Автор: NotIsClone 23.3.2010, 16:59
вот будет работать норм, а проблема, если не ошибаюсб во времени
Код

int [] mas_i = new int[10];
Random rnd = new Random();
for(int i =0;i<10;i++)
      mas_i[i] = (int)(rnd.NextDouble() * 20 - 10);

в это вывод такой как у тя
Код

Random rdm = new Random((int)DateTime.Now.Ticks);
int r = rdm.Next();

если поставиш Sleep();, то не будет повторений 

Автор: darel86 23.3.2010, 17:40
Сейчас попробую.
Благодарю.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)