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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Turn
7 / 7 / 0
Регистрация: 02.08.2012
Сообщений: 183
#1

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

10.03.2013, 20:22. Просмотров 781. Ответов 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, всегда? Почему? помогите пожалуйсто исправить
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.03.2013, 20:22     Генератор случайных чисел
Посмотрите здесь:

C++ Генератор случайных чисел в интервале (0;10)
C++ Генератор случайных чисел random()
C++ Перезапустить генератор случайных чисел
C++ Написать генератор случайных чисел.
C++ Генератор случайных чисел. Массив
C++ Массив и генератор случайных чисел
Генератор случайных чисел в матрице C++
C++ Генератор случайных вещественных чисел, C++
C++ Не работает генератор случайных чисел
Файлы си++, генератор случайных чисел C++
Генератор случайных чисел повторяется C++
C++ генератор случайных чисел Эрланга

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
NoMasters
Псевдослучайный
1743 / 1086 / 71
Регистрация: 13.09.2011
Сообщений: 3,108
10.03.2013, 20:32     Генератор случайных чисел #2
Потому, что ГСЧ выдаёт каждый раз одну и туже последовательность. Нужно задать стартовое значение через srand, чтобы получить что-то другое.
Черный ворон
129 / 123 / 6
Регистрация: 31.01.2012
Сообщений: 435
10.03.2013, 20:33     Генератор случайных чисел #3
C++
1
srand(time(NULL));
добавьте перед вызовом
Karnal
0 / 0 / 0
Регистрация: 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) это системные часы, и оно время естественно меняется каждую секунду, поэтому и в сранде будут разные значение, а именно это и дает "перемешывание" случайных чисел.
Yandex
Объявления
10.03.2013, 20:57     Генератор случайных чисел
Ответ Создать тему
Опции темы

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