15 / 15 / 8
Регистрация: 15.08.2013
Сообщений: 190
|
||||||
1 | ||||||
как все это в подробностях работает?05.09.2013, 16:28. Показов 2274. Ответов 36
Метки нет (Все метки)
1
|
05.09.2013, 16:28 | |
Ответы с готовыми решениями:
36
Стек и куча: как все это работает? Как это работает? Я хочу спросить как работает C++ и где можно про него почитать Русификация.Работает-супер! Обьяснитте, как это работает? Как это работает? |
859 / 448 / 112
Регистрация: 06.07.2013
Сообщений: 1,491
|
|
05.09.2013, 16:32 | 2 |
какая строчка вызывает затруднения, тут нет каких то сложных выражений даже
1
|
15 / 15 / 8
Регистрация: 15.08.2013
Сообщений: 190
|
|
05.09.2013, 16:33 [ТС] | 3 |
почему если это рандом, цифры выскакивают одни и те же?
1
|
198 / 170 / 19
Регистрация: 05.05.2013
Сообщений: 1,235
|
|
05.09.2013, 16:35 | 4 |
потому что рандом так устроен, что бы он выкидывал разные цифры нужно еще припахать сюда часы (библиотеку time) и тогда можно будет выводить действительно разные цифры
2
|
198 / 170 / 19
Регистрация: 05.05.2013
Сообщений: 1,235
|
|
05.09.2013, 16:41 | 6 |
Kastaneda, все правильно, он не зависит от часов, по этому (а может и не по этому) он выдает одни и те же значения, а если к нему прикрутить часы, то будут разные значения.
1
|
3 / 3 / 1
Регистрация: 15.08.2013
Сообщений: 30
|
|
05.09.2013, 16:43 | 7 |
0
|
859 / 448 / 112
Регистрация: 06.07.2013
Сообщений: 1,491
|
|
05.09.2013, 16:46 | 8 |
Шаг это итерация цикла видимо, в данном случае цикл повторяется 20000 раз, значит у него 20000 шагов
1
|
3 / 3 / 1
Регистрация: 15.08.2013
Сообщений: 30
|
||||||
05.09.2013, 16:47 | 9 | |||||
1
|
198 / 170 / 19
Регистрация: 05.05.2013
Сообщений: 1,235
|
|
05.09.2013, 16:47 | 10 |
Книга - Как программировать на C++, автор Дейтел, страница 347 - пример программы, там при помощи time получаются разные значения, если кому то интересно.
1
|
3 / 3 / 1
Регистрация: 15.08.2013
Сообщений: 30
|
|
05.09.2013, 16:49 | 11 |
Скажите пожалуйста что это за "получено на шаге" ?? Шаг это что за число ? и каким образом шаг определяется ? тоже рандомно ? оно все время другое ?
0
|
05.09.2013, 16:54 | 12 |
Вот и покажи, что там пишут в этой книге. Для новой случайной последовательности должен быть задан сид. Обычно в качестве сида используют текущее время, но не обязательно, чтобы сид был именно временем!
1
|
198 / 170 / 19
Регистрация: 05.05.2013
Сообщений: 1,235
|
|
05.09.2013, 16:58 | 13 |
оператор for, это цикл, его условия - (i = 0; r <= 20000; i++)
i=0 - i равно 0 (изначально) r<=20000 - цикл будет повторяться пока r меньше или равно 20000 i++ - с каждым шагом, кругом, повторение цикла i увеличивается на 1. т.е. количество шагов тут должно быть от 0 до 20000 и учитываются они в переменной i, она и показывает количество шагов - cout<<"число равно"<<r<<".Оно было получено на шаге "<< i <<"."
1
|
05.09.2013, 16:58 | 14 |
Более того, для получения последовательности случайных чисел, srand должен быть вызван один раз!
При попытке вызывать srand(time(0)) в цикле, генератор будет сбрасываться в изначальное состояние функцией srand (учитывая, что значение time() в процессе выполнения программы особо не успевает измениться)
1
|
198 / 170 / 19
Регистрация: 05.05.2013
Сообщений: 1,235
|
|
05.09.2013, 17:00 | 15 |
1
|
859 / 448 / 112
Регистрация: 06.07.2013
Сообщений: 1,491
|
|
05.09.2013, 17:03 | 16 |
тут все немного запутанней,
r <= 20000 означает что цикл остановится когда rand() > 20000
1
|
3 / 3 / 1
Регистрация: 15.08.2013
Сообщений: 30
|
|
05.09.2013, 17:05 | 17 |
0
|
05.09.2013, 17:05 | 18 |
2
|
50 / 31 / 4
Регистрация: 25.04.2013
Сообщений: 366
|
||||||
05.09.2013, 17:08 | 19 | |||||
1
|
859 / 448 / 112
Регистрация: 06.07.2013
Сообщений: 1,491
|
|
05.09.2013, 17:10 | 20 |
тем что rand() это функция, подчиняющаяся определенным правилам, как тот же синус например, который всегда при одном и том же аргументе будет возвращать одно и то же значение, разница лишь в том что мы можем задать для rand() сид - первоначальное зерно, которое осуществит сдвиг нашей функции на другие выходящие значения, ну и еще в том что rand не имеет аргументов, а при вызове сам сдвигается по "x" как бы.
Выходит если сид будет одинаковый то rand() будет давать одну и ту же последовательность разных значений, для этого сид привязывают к каким то случайным параметрам, таким как время например. srand(time) - задать SID равный времени
1
|
05.09.2013, 17:10 | |
05.09.2013, 17:10 | |
Помогаю со студенческими работами здесь
20
Как это работает? Как это работает? Как это работает? Как это работает? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |