![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#21 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,429
|
![]()
В книге, пожалуй, не совсем удачно сформулировали. Т.к. card имеет диапазон значений от 0 до 51, то "card / 13" будет иметь диапазон от 0 до 3. Это не способ получения случайных значений в диапазоне от 0 до 3, а констатация факта. Например:
Код:
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись
![]() |
![]() |
![]() |
![]() |
#22 |
Пользователь
Регистрация: 14.03.2022
Сообщений: 32
|
![]()
А разве card/13 будет сужать диапазон? Разве функция сначала не получит случайное значение card, а потом его разделит на 13 ?
|
![]() |
![]() |
![]() |
#23 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,429
|
![]()
Да, но тем самым сузит диапазон значений s. Поделите каждое число из диапазона от 0 до 51 на 13 и получите новый диапазон (от 0 до 3).
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись
![]() |
![]() |
![]() |
![]() |
#24 |
Пользователь
Регистрация: 14.03.2022
Сообщений: 32
|
![]()
Спасибо. А почему в книге написано в нижней строчке, что значение переменной cards_remaining увеличивается на единицу? В той строчке, которую я пометил галкой, там же оператор декремента стоит (--). Он же уменьшает на единицу вроде.
Последний раз редактировалось Damyen; 06.03.2023 в 22:15. |
![]() |
![]() |
![]() |
#25 |
Участник клуба
Регистрация: 17.04.2022
Сообщений: 1,833
|
![]()
Очевидная очепятка автора (переводчика).
|
![]() |
![]() |
![]() |
#26 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,429
|
![]()
macomics прав про опечатку. Старайтесь сверяться с книгой на оригинальном языке:
"Every time a card is drawn, this variable is decreased by 1."
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись
![]() |
![]() |
![]() |
![]() |
#27 |
Пользователь
Регистрация: 14.03.2022
Сообщений: 32
|
![]()
А если объявить массив чисел за пределами основной функции main(), и не обозначить значения чисел внутри массива, то массив будет полностью заполнен нулями?
|
![]() |
![]() |
![]() |
#28 | |
Участник клуба
Регистрация: 17.04.2022
Сообщений: 1,833
|
![]() Цитата:
Ещё при использовании переменных из секции неинициализированных данных вы можете столкнуться с ошибкой повторного доступа. Скажем у вас есть функция, которая осуществляет манипуляции с такой переменной. Но при её первом вызове состояние переменной будет таким, как при загрузке программы, а при повторном уже нет. Если в расчётах функция полагает, что в переменной 0, тогда на выходе уже будет посчитанное значение, которое и останется в переменной до повторного вызова. И куда запутаннее дело будет, если переменной пользуются несколько функций. Тогда можно получить ситуацию, что при одних обстоятельствах первой вызвана одна функция, а при других - вторая. И тогда придётся искать ошибку отсутствующей инициализации общей переменной в неопределённых обстоятельствах. Другое дело массивы выделяемые динамически. При запросе для них памяти вы можете указать необходимость её обнуления и тогда этим пользоваться (воспринимать массив как обнулённый). А в целом компилятор на такое выдаёт ошибки и не получится оставить переменную без начальных значений. Последний раз редактировалось macomics; 09.03.2023 в 14:23. |
|
![]() |
![]() |
![]() |
#29 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,429
|
![]()
macomics, да вроде стандарты C и C++ гарантируют инициализацию нулями глобальных переменных.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись
![]() |
![]() |
![]() |
![]() |
#30 | |
Участник клуба
Регистрация: 17.04.2022
Сообщений: 1,833
|
![]() Цитата:
И я описал случаи, когда это может создать не очевидные ошибки. |
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Вопросы по C и C++ | jonikster | Общие вопросы C/C++ | 25 | 17.11.2017 09:10 |
Вопросы | Ilai | Помощь студентам | 5 | 29.10.2014 21:35 |
Вопросы по БД | Rost93 | PHP | 9 | 28.06.2011 22:18 |
Вопросы по С++ | Fantazerishka | Общие вопросы C/C++ | 2 | 19.05.2010 06:52 |