Вторник, 05 Ноября 2024, 15:36

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Рандом
TAPAKAHДата: Четверг, 29 Апреля 2010, 14:54 | Сообщение # 1
почетный гость
Сейчас нет на сайте
есть функция возвращающая псевдослучайное число в пределах ограничителя:
Code

int rran(int ogr)
{
  return rand()&ogr;
}

получал постоянно один и тот же набор символов.
Для того чтобы как то разнообразить перед вызовом ф-и поставил: srand( time(NULL));
Есть ли ещё возможность как то разнообразить сложившуюся ситуацию?
Так как в ситуации где мне нужно получить вагон (чтук 300) значений, я получаю 2-3 набора одинаковых последовательностей.


Все имеет свое имя и название.
Осмысливая смысл смысла, в смысле смысла смысла смысла, не смысл ли помыслить о немыслимом?
P:OG
Лишь идеи рождают шедевры.
PesetsДата: Четверг, 29 Апреля 2010, 18:56 | Сообщение # 2
постоянный участник
Сейчас нет на сайте
Попробуй возвращать (ogr * rand() / (float)RAND_MAX). Если не устроит, то советую погуглить про генерацию псевдослучайных чисел, есть несколько альтернативных формул, на основе которых можно написать свой рандом.
Зы. Немного непонятно, зачем ты используешь побитовое умножение, думаю, взятие остатка от деления дало бы большее разнообразие.





Сообщение отредактировал Pesets - Четверг, 29 Апреля 2010, 18:58
TAPAKAHДата: Пятница, 30 Апреля 2010, 14:23 | Сообщение # 3
почетный гость
Сейчас нет на сайте
Quote (Pesets)
Зы. Немного непонятно, зачем ты используешь побитовое умножение, думаю, взятие остатка от деления дало бы большее разнообразие.

Поподробнее? Просто как я понял &ogr это всего лишь ограничение на значения.

Спасибо за совет, помогло =)


Все имеет свое имя и название.
Осмысливая смысл смысла, в смысле смысла смысла смысла, не смысл ли помыслить о немыслимом?
P:OG
Лишь идеи рождают шедевры.


Сообщение отредактировал TAPAKAH - Пятница, 30 Апреля 2010, 14:25
PesetsДата: Пятница, 30 Апреля 2010, 15:31 | Сообщение # 4
постоянный участник
Сейчас нет на сайте
Quote (TAPAKAH)
Просто как я понял &ogr это всего лишь ограничение на значения.

Оператор & - это побитовое умножение. По крайней мере, в С и С++. Для ограничения обычно берут остаток от деления, для него есть оператор %. Не путай)



  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг