| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C++ Builder > Генератор случайных чисел. |
| Автор: KACATuK 21.11.2004, 20:26 |
| Привет всем. Я начал изучать С++, вот, добрался до того момента, когда мне понадобился генератор случайных чисел, но прикол в том, что у меня при каждом новом запуске проги rand() выдаёт одну и ту же последовательность случайных чисел, начинающих с одного и того же числа. Вопрос, как новичку Заранее спасибо, и звиняйте за наивность, но я просто учусь |
| Автор: maxim1000 21.11.2004, 20:32 | ||
| генератор случайных чисел работает следующим образом: 1. в начале работы происходит инициализация генератора 2. при каждом вызове над числом проводится некоторое преобразование так вот для нормальной работы генератора нужно сначала инициализировать его, например, временем Добавлено @ 20:33 генератор случайных чисел работает следующим образом: 1. в начале работы происходит инициализация генератора 2. при каждом вызове над числом проводится некоторое преобразование так вот для нормальной работы генератора нужно сначала инициализировать его, например, временем пример из MSDN:
|
| Автор: KACATuK 21.11.2004, 20:42 |
| Спасибо. Заработало. Но, как я понял со своим корявым знанием английского, в stdio.h установлены какие-то пороговые значения для максимального и минимального значения случайного числа, если я не ошибаюсь, как мне их поменять? |
| Автор: JackYF 22.11.2004, 01:03 | ||
Работать со случайными числами надо так, например:
|
| Автор: Hroft 8.12.2004, 14:13 |
| Если тебе нужны случайные числа из определенного интервала, то нужно масштабировать. Например, у тебя есть сл. число из [0; b]. Тогда для получения сл. числа из [0; d] надо первое умножить на d/b. |
| Автор: Voker57 8.12.2004, 14:29 | ||
Не, это уже что то из паскаля |
| Автор: legwar 4.2.2005, 21:11 | ||
|
| Автор: cardinal 4.2.2005, 22:40 | ||
Только аккуратно это делать надо, см. http://forum.vingrad.ru/index.php?showtopic=40164 |
| Автор: Fixin 4.2.2005, 23:31 | ||
Можно так:
В смысле сделать заголовник такой. |
| Автор: InfMag 5.2.2005, 06:21 | ||||
Работает, но рандомиз как таковой не действует... Сначала выдает 49, потом 4 и т.д. Причем всегда. |
| Автор: InfMag 5.2.2005, 19:01 | ||
| Не понял! Куда делась моя мессага? Вобщем:
|
| Автор: nooob 30.3.2008, 10:36 |
| хм а если надо чтобы генератор был для двоичных чисел. ну и скажем 100 комбинаций различных. чтобы дальше применить например манчестерский код сделать быстрое преобразование Фурье и рассмотреть спектр получаемый |
| Автор: cardinal 30.3.2008, 15:13 |
| nooob, а что десятичное число в двоичное преобразовать нельзя? |
| Автор: JackYF 30.3.2008, 23:15 |
| некрофилы... |
| Автор: nooob 31.3.2008, 15:02 |
| ну вот я парюсь. сказали чтобы выдавал двоичные. подскажите пожалуйста |
| Автор: Invisible_kid 6.4.2008, 14:34 | ||||||
| 1) незнаю как у Вас) но у меня билдер работает так: есть randomize; Randomize(); и Randomize; ) каторые, скажем так, выводят_, как и у всех нормальных людей, 49, 4, 86 и т.д. а есть randomize(); [с маленькой буквы, и в канце са скобками, если кто вдруг не заметил)] и если ее вставить в ф-ии перед вызавом рандома, то значения палучаются другими
тока это.... оно паходу па времени сморит, ибо если сделать так
и сидеть клацать па кнопке то значения будут менятся гдето раз в секунду; 2) nooob ,.... ну в билдере есть ф-я IntToHex() .... виглядит примерно так вроде:
...вроед есть и IntToBin()...... //ну еси что, мот проще бут из хекса в бин перевадить))) |