|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
05.06.2013, 12:37 | #1 |
Пользователь
Регистрация: 02.03.2011
Сообщений: 31
|
rand() бьет в один из интервалов в два раза чаще
Всем привет!
ниже полностью код, под ним описание проблемы. Код:
Это каким способом решить? СПАСИБО! P.S. что это реализуемо через массивы, мне известно, код нужен именно в таком виде =) |
05.06.2013, 12:48 | #2 | |
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
Цитата:
|
|
05.06.2013, 13:00 | #3 |
Пользователь
Регистрация: 02.03.2011
Сообщений: 31
|
|
05.06.2013, 13:26 | #4 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,330
|
Попробуйте
rand() % range хотя это тоже не очень правильный способ. Еще лучше: rand() * range / RAND_MAX |
05.06.2013, 13:44 | #5 | |
Пользователь
Регистрация: 02.03.2011
Сообщений: 31
|
Цитата:
я так понял range - это интервал? и по ходу вся проблема в компиляторе...компилю код в VS C++ Express... только что попробовал в Linux с++ компилировать и QtCreator' ом - все работает как надо.... под Windows 7 и MinGW работает криво....не подскажите компилятор под Win ? =] Последний раз редактировалось Symba; 05.06.2013 в 14:09. |
|
05.06.2013, 19:29 | #6 |
Форумчанин
Регистрация: 03.01.2013
Сообщений: 388
|
Visual Studio 2012
|
05.06.2013, 19:54 | #7 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
тут не компиль виноват а реализация ГПСЧ.
возьмите стороннюю реализация, например с буста. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
06.06.2013, 00:11 | #8 |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
Не гони волну на студийный компилятор, и ищи косяк в своем коде.
Стандартный виндузятный rand() дает равномерное покрытие по всему диапазону (сам лично проверял как работает студийный, когда изобретал свой собственный рандом). http://codepad.org/HvSIuKpX Последний раз редактировалось _Bers; 06.06.2013 в 00:15. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
С++, BMP-файлы, растянуть в два раза изображение. | Alendorff | Помощь студентам | 5 | 21.05.2012 11:29 |
Как обобщить функцию с двух интервалов на один? | Lyubimov | Помощь студентам | 2 | 17.05.2011 06:00 |
Sql запрос. Из одной таблицы два раза | templton | SQL, базы данных | 2 | 20.04.2011 17:47 |
два раза к одной таблице | Kolik317 | SQL, базы данных | 2 | 26.12.2009 13:58 |
слово пишется два раза | INDY-SAVER | Microsoft Office Word | 2 | 18.11.2009 23:49 |