Как получить много случайных чисел?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Anatole
Начинающий
Начинающий
 
Сообщения: 4
Зарегистрирован: 10.02.2008 (Вс) 7:14

Как получить много случайных чисел?

Сообщение Anatole » 19.06.2010 (Сб) 13:30

Добрый день.
У меня есть двумерный массив из 65000 строк и 5 столбцов. Мне надо заполнить его случайными числами от 0 до 1. Я заполняю его так:

Redim dblMas(65000,5) as Double
For i=1 to 65000
For j=1 to 5
Randomize
dblMas(i,j)=Rnd
Next j
Next i

Проблема в том, что когда я получаю этот массив и сортирую его, то оказывается, (внимание!) что он включает строки, совершенно полностью совпадающие по всем 5 столбцам вплоть до последнего знака, причем каждая такая строка повторяется ровно 32 раза.
Есть ощущение, что причина лежит в том, что в качестве опорной точки для генерации чисел, видимо, используется таймер времени, который, видимо, имеет разрешение в 32 единицы.
Подскажите, пожалуйста, как избавиться от этих повторов и сделать однородный, без повторов, массив случайных чисел?
Спасибо.

VVitafresh
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1641
Зарегистрирован: 12.05.2005 (Чт) 14:44
Откуда: Херсон, UA

Re: Как получить много случайных чисел?

Сообщение VVitafresh » 19.06.2010 (Сб) 16:04

Попробуй сделать Randomize только один раз перед циклами.
Никакую проблему невозможно решить на том же уровне, на каком она возникла. Нужно стать выше этой проблемы, поднявшись на следующий уровень.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 106

    TopList