![]() |
|
Модераторы: bsa |
![]()
|
|
| think |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 57 Регистрация: 12.5.2008 Репутация: нет Всего: нет |
Добрый день. У меня тут странная проблема с random(), столкнулся с ней, когда делал курсак. Значит, у меня много рендомов делаются в короткий срок, тоесть, почти мгновенно. Получается, что почти все они либо одинаковые, либо странно чередуются. Может, это как-нибудь связано с системным временем, не знаю даже. Randomize() я делал только один раз. Наведу лучше пример кода:
Исходящие данные1: 7 18 78 31 98 31 98 31 98 92 80 31 31 31 31 31 Исходящие данные2: 96 3 10 71 7 54 67 38 92 61 68 94 28 98 19 24 Разница между ними в том, что во втором случае я прогнал прогу пошагово, тоесть F7. Скажите, как мне добиться все же случайных чисел? Это сообщение отредактировал(а) think - 27.4.2009, 19:25 |
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 52 Всего: 211 |
Это сообщение отредактировал(а) azesmcar - 27.4.2009, 19:34 |
|||
|
||||
| think |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 57 Регистрация: 12.5.2008 Репутация: нет Всего: нет |
||||
|
||||
| azesmcar |
|
||||||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 52 Всего: 211 |
think
MSDN
Вот эти два |
||||||
|
|||||||
| think |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 57 Регистрация: 12.5.2008 Репутация: нет Всего: нет |
Выводит
97 85 85 85 85 85 85 85 85 85 85 85 85 85 85 85 |
|||
|
||||
| azesmcar |
|
||||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 52 Всего: 211 |
этот код у меня выводит вот это..вы уверены что все правильно делаете?
Добавлено через 30 секунд think Я так думаю вы srand( time( NULL) ) в цикл засунули |
||||
|
|||||
| think |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 57 Регистрация: 12.5.2008 Репутация: нет Всего: нет |
Дело в том, что я использую C++ Builder, пишу не в консольному режиме. Вот собственно весь код моей функции, без каких либо изменений:
Выводит 49 93 21 5 88 21 5 88 21 21 21 21 21 21 21 21 |
|||
|
||||
| think |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 57 Регистрация: 12.5.2008 Репутация: нет Всего: нет |
Попробывал в новом проекте, работает нормально. Вообщем, курсак я делаю через компоненту визуальную, и все эти рэндомы какраз там и есть. Не знаю, в чем дело, но через пошаговую компиляцию значения выводятся нормально. Понятие не имею, как тут найти ошибку.
|
|||
|
||||
| math64 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 12 Всего: 72 |
А твоя компонента не использует rand() одновременно с тобой?
А если вызывать srand(0), то дальше генератор будет выдавать одинаковые числа. srand( time( NULL) ); должно вызываться один раз в начале программы. |
|||
|
||||
| think |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 57 Регистрация: 12.5.2008 Репутация: нет Всего: нет |
Спасибо, помогло! Нашел все места, где использовал rand или random, и дело в том, что в этих циклах внутри функций я забыл убрать randomize() . Так как последний привязан к системному времени, понятный перец почему выводились одинаковые и/или закономерные числа и при покроковой компиляции все было нормально. |
|||
|
||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |