![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 24.10.2010
Сообщений: 67
|
![]()
У меня рандом случайным образом выбирает элементы из двухмерного массива 10*10 (сначала i потом j mas[i][j])
я заметил одну проблему он почти не выбирает 10 строчку. Как это исправить?
Если я нарушил какие-либо правила прошу простить и сообщить...
|
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,372
|
![]()
Позвольте мне угадать - rand() % 10?
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 24.10.2010
Сообщений: 67
|
![]()
точнее
rand%10+1 при том про рандом почти ни чего не знаю нашёл пример и от него плясал
Если я нарушил какие-либо правила прошу простить и сообщить...
|
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,372
|
![]()
Да все этот пример находят, только он плох тем, что хорошо работает когда нам нужно число, кратное MAX_RAND...
Попробуйте так: rand() * 10 / MAX_RAND; Думаю это сразу повысит совершенство рандома |
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 24.10.2010
Сообщений: 67
|
![]()
поясни что такое MAX_RAND
Если я нарушил какие-либо правила прошу простить и сообщить...
|
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,372
|
![]()
Виноват, описка, не MAX_RAND а RAND_MAX
http://www.cplusplus.com/reference/c.../cstdlib/rand/ |
![]() |
![]() |
![]() |
#7 | |
Форумчанин
Регистрация: 15.01.2010
Сообщений: 948
|
![]()
Здесь явная ошибка. 0 никогда не появится, зато будет выпадать 10, под которое у нас не зарезервировано место.
Цитата:
Код:
Код:
2. freq2[0] = 0 (как и было предсказано). Почему freq3[0] = 0.2 - надеюсь, страдалец ТС разберётся... |
|
![]() |
![]() |
![]() |
#8 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,372
|
![]()
case 1 и 2 будут генерить в интервале от от 0 до 10 включительно
|
![]() |
![]() |
![]() |
#9 |
Форумчанин
Регистрация: 15.01.2010
Сообщений: 948
|
![]() |
![]() |
![]() |
![]() |
#10 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,372
|
![]()
Согласен в case 1 нулей не будет. Выход за границу масива все равно будет. Поменяйте местами freq2 и freq3 и ТС не придется разбираться откуда во freq3 берется коефициент 2
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Решение рандома | Ромашка68 | Общие вопросы C/C++ | 6 | 08.06.2012 08:47 |
Модификация рандома | RayGGG | Общие вопросы C/C++ | 2 | 17.02.2011 03:43 |