Форум программистов, компьютерный форум CyberForum.ru

Как заполняет функция rand? - C++

Восстановить пароль Регистрация
 
tokar2
25 / 25 / 1
Регистрация: 09.11.2012
Сообщений: 229
16.12.2012, 20:47     Как заполняет функция rand? #1
Как заполняет функция rand? Допустим у нас есть вот такое:
rand()%10;
rand()%100-50;
rand()%20-20;
В каком диапазоне будут заполняться числа?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.12.2012, 20:47     Как заполняет функция rand?
Посмотрите здесь:

Функция rand() C++
C++ функция rand()
C++ функция rand()
C++ Как сделать так, чтобы функция rand() возвращала разные значения
Функция rand() C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Schizorb
 Аватар для Schizorb
508 / 460 / 16
Регистрация: 07.04.2012
Сообщений: 865
Записей в блоге: 1
Завершенные тесты: 1
16.12.2012, 20:49     Как заполняет функция rand? #2
rand()%10; - от 0 до 9
rand()%100-50; - от -50 до 49
rand()%20-20; - от -10 до 19

Добавлено через 1 минуту
грубо говоря rand()%n может сгенерировать n разных чисел в диапазоне от 0 до n-1
v.a.l.i.d
 Аватар для v.a.l.i.d
412 / 377 / 10
Регистрация: 21.09.2012
Сообщений: 913
16.12.2012, 20:50     Как заполняет функция rand? #3
rand()%10; // от 0 до 9
rand()%100-50; // от -50 до 49
rand()%20-20; // от -20 до -1
sovaz1997
CEO SOVAZ Corp.
 Аватар для sovaz1997
379 / 225 / 2
Регистрация: 17.12.2011
Сообщений: 816
Записей в блоге: 1
16.12.2012, 20:51     Как заполняет функция rand? #4
rand() % диапозон + 500

-если мы прибавляем 500, значит минимальное число=500; диапозон - значение возможных вариантов после 500 (500, 501 ... 500+диапозон).
tokar2
25 / 25 / 1
Регистрация: 09.11.2012
Сообщений: 229
16.12.2012, 20:53  [ТС]     Как заполняет функция rand? #5
Возможно кто-то напишет по какому принципу заполняет rand! Я что-то понять не могу:
sovaz1997
CEO SOVAZ Corp.
 Аватар для sovaz1997
379 / 225 / 2
Регистрация: 17.12.2011
Сообщений: 816
Записей в блоге: 1
16.12.2012, 20:55     Как заполняет функция rand? #6
% - деление с остатком. Больше мы ничем не можем тебе помочь
Schizorb
 Аватар для Schizorb
508 / 460 / 16
Регистрация: 07.04.2012
Сообщений: 865
Записей в блоге: 1
Завершенные тесты: 1
16.12.2012, 21:03     Как заполняет функция rand? #7
Цитата Сообщение от tokar2 Посмотреть сообщение
Возможно кто-то напишет по какому принципу заполняет rand
Попробуй вызвать просто rand() и посмотреть, какое значение получится. Это типа случайное число.

Потом ты берешь остаток от деления этого числа, ну скажем как в твоем примере на 10, т.е. rand()%10.

Остаток от деления на 10 может быть 0, 1, 2, .... 9. Зависеть это будет от числа, сгенерированного rand().
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11845 / 6824 / 771
Регистрация: 27.09.2012
Сообщений: 16,919
Записей в блоге: 2
Завершенные тесты: 1
16.12.2012, 21:04     Как заполняет функция rand? #8
Функция rand() генерирует псевдослучайное число.
В выражении rand()%A+B берется остаток от деления псевдослучайного числа на A и прибавляется B.
Диапазон составляет [B;A-B)
novi4ok
549 / 502 / 8
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
16.12.2012, 21:08     Как заполняет функция rand? #9
Цитата Сообщение от tokar2 Посмотреть сообщение
Возможно кто-то напишет по какому принципу заполняет rand! Я что-то понять не могу:
а ты объясни, что означает пассаж "по какому принципу заполняет rand!", а то я что-то понять не могу, чего ты тут понять не можешь :
tokar2
25 / 25 / 1
Регистрация: 09.11.2012
Сообщений: 229
16.12.2012, 21:15  [ТС]     Как заполняет функция rand? #10
Цитата Сообщение от novi4ok Посмотреть сообщение
а ты объясни, что означает пассаж "по какому принципу заполняет rand!", а то я что-то понять не могу, чего ты тут понять не можешь :
Это и значит! Допустим у нас есть такое: rand()%100-100 и я не понимаю как оно берет диапазон этих чисел!
Schizorb
 Аватар для Schizorb
508 / 460 / 16
Регистрация: 07.04.2012
Сообщений: 865
Записей в блоге: 1
Завершенные тесты: 1
16.12.2012, 21:15     Как заполняет функция rand? #11
Цитата Сообщение от Croessmah Посмотреть сообщение
В выражении rand()%A+B берется остаток от деления псевдослучайного числа на A и прибавляется B.
Диапазон составляет [B;A-B)
Тогда уж [B;A+B) наверное...

Не по теме:

у меня в третьем выражении ошибка, я даже не заметил)

sovaz1997
CEO SOVAZ Corp.
 Аватар для sovaz1997
379 / 225 / 2
Регистрация: 17.12.2011
Сообщений: 816
Записей в блоге: 1
16.12.2012, 21:16     Как заполняет функция rand? #12
Вы в курсе, что tokar2 уже все давно понял
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.12.2012, 21:32     Как заполняет функция rand?
Еще ссылки по теме:

Функция создает объекты и указателями на них заполняет массив. При выходе из функции вызываются деструкторы объектов. Как сохранить объекты? C++
Функция rand() C++
C++ Функция - rand

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11845 / 6824 / 771
Регистрация: 27.09.2012
Сообщений: 16,919
Записей в блоге: 2
Завершенные тесты: 1
16.12.2012, 21:32     Как заполняет функция rand? #13
Цитата Сообщение от tokar2 Посмотреть сообщение
Допустим у нас есть такое: rand()%100-100 и я не понимаю как оно берет диапазон этих чисел!
Допустим, есть
rand()%20+80;

предположим, что функция rand() вернула число 1232
тогда получаем 1232%20=12
12+80=92
Так вот и получается

Добавлено через 33 секунды
Цитата Сообщение от Schizorb Посмотреть сообщение
Тогда уж [B;A+B) наверное...
точно!
Yandex
Объявления
16.12.2012, 21:32     Как заполняет функция rand?
Ответ Создать тему
Опции темы

Текущее время: 14:34. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru