Итак, я пытаюсь создать случайный вектор (например, геометрия, а не расширяемый массив), и каждый раз, когда я называю свою случайную векторную функцию, я получаю одинаковое значение x, хотя Y и z разные. < /p>
int main () {
srand ( (unsigned)time(NULL));
Vector a;
a.randvec();
cout
//random Vector
template
void Vector::randvec()
{
const int min=-10, max=10;
int randx, randy, randz;
const int bucket_size = RAND_MAX/(max-min);
do randx = (rand()/bucket_size)+min;
while (randx = max);
x = randx;
do randy = (rand()/bucket_size)+min;
while (randy = max);
y = randy;
do randz = (rand()/bucket_size)+min;
while (randz = max);
z = randz;
}
< /code>
По какой -то причине Randx последовательно вернется 8, тогда как другие числа, похоже, идеально следуют (псевдо) случайности. Однако, если я помесчу призыв определить, скажем, Рэнди перед Randx, Рэнди всегда вернется 8. < /p>
Почему мое первое случайное число всегда 8? Я не собираюсь неправильно?
Подробнее здесь: https://stackoverflow.com/questions/303 ... in-my-main
Rand () генерируя одно и то же число - даже с Srand (время (NULL)) в моем основном! ⇐ C++
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение