Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Turn
7 / 7 / 4
Регистрация: 02.08.2012
Сообщений: 183
#1

Генератор случайных чисел - C++

10.03.2013, 20:22. Просмотров 881. Ответов 3
Метки нет (Все метки)

Здраствуййте
C++
1
2
3
4
int a=rand()%10000;
    std::cout << a;
        getchar();
    return 0;
C++
1
2
3
4
int a=rand()%1000;
    std::cout << a;
        getchar();
    return 0;
C++
1
2
3
4
int a=rand()%100;
    std::cout << a;
        getchar();
    return 0;
- в этих кодах "а" почемуто всегда равно 41, а в коде
C++
1
2
3
4
int a=rand()%10;
    std::cout << a;
        getchar();
    return 0;
а = 1, всегда? Почему? помогите пожалуйсто исправить
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.03.2013, 20:22
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Генератор случайных чисел (C++):

Генератор случайных чисел
Здравствуйте! Кто-нибудь объясните пожалуйста. Вот есть функция rand(). Она...

Генератор случайных чисел
Здорова господа! Нужно написать свой собственный генератор случайных чисел,...

Генератор случайных чисел
Здравствуйте, для программы мне требуется генератор, который будет задавать...

Генератор случайных чисел
Есть функция, генерирующая случайные целые числа с помощью линейного...

Генератор случайных чисел
Добрый вечер! Собственно-то тако задание: необходимо правильно задать параметры...

генератор случайных чисел
Всем доброго времени суток, вот решил написать генератор чисел длины 768 бит,...

3
NoMasters
Псевдослучайный
1909 / 1120 / 90
Регистрация: 13.09.2011
Сообщений: 3,179
10.03.2013, 20:32 #2
Потому, что ГСЧ выдаёт каждый раз одну и туже последовательность. Нужно задать стартовое значение через srand, чтобы получить что-то другое.
0
Черный ворон
130 / 124 / 57
Регистрация: 31.01.2012
Сообщений: 435
10.03.2013, 20:33 #3
C++
1
srand(time(NULL));
добавьте перед вызовом
0
Karnal
0 / 0 / 1
Регистрация: 10.03.2013
Сообщений: 14
10.03.2013, 20:57 #4
функция rand() возвращает длинное число, которое на самом деле вычисляется как то, а мы думает что это рандом.
a=rand()%10;
b=rand()%10;
c=rand()%10;
каждый раз ранд будет давать новое длинное значение вычисляемое, мы лишь можем взять остаток от деления, тем самым ограничив его,
если не написать перед a=rand();b=rand();c=rand(); функцию о которой скажу ниже, то при каждом запуске программы rand будет то же самое переменным присваивать ну например 5 7 8 и так каждый запуск.
теперь о сранде srand(10); если тупо написать так вначале программы то толку от нее не будет, поэтому пишут вместо srand(10) srand(time(NULL)); time(NULL) это системные часы, и оно время естественно меняется каждую секунду, поэтому и в сранде будут разные значение, а именно это и дает "перемешывание" случайных чисел.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.03.2013, 20:57
Привет! Вот еще темы с решениями:

Генератор случайных чисел
составить генератор случайных чисел, имеющий два члена - границы...

генератор случайных чисел
как реализовать генератор случайных чисел? чтобы можно было вводить два...

Генератор случайных чисел
Реализовать генератор случайных числе в диапазоне от нуля до единицы. После...

Генератор случайных чисел
Пишу курсовую по криптографии, для генерации ключей, естественно, нужен...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru