|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
04.03.2023, 21:58 | #21 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,342
|
В книге, пожалуй, не совсем удачно сформулировали. Т.к. card имеет диапазон значений от 0 до 51, то "card / 13" будет иметь диапазон от 0 до 3. Это не способ получения случайных значений в диапазоне от 0 до 3, а констатация факта. Например:
Код:
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
04.03.2023, 23:05 | #22 |
Пользователь
Регистрация: 14.03.2022
Сообщений: 32
|
А разве card/13 будет сужать диапазон? Разве функция сначала не получит случайное значение card, а потом его разделит на 13 ?
|
05.03.2023, 04:12 | #23 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,342
|
Да, но тем самым сузит диапазон значений s. Поделите каждое число из диапазона от 0 до 51 на 13 и получите новый диапазон (от 0 до 3).
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
06.03.2023, 21:56 | #24 |
Пользователь
Регистрация: 14.03.2022
Сообщений: 32
|
Спасибо. А почему в книге написано в нижней строчке, что значение переменной cards_remaining увеличивается на единицу? В той строчке, которую я пометил галкой, там же оператор декремента стоит (--). Он же уменьшает на единицу вроде.
Последний раз редактировалось Damyen; 06.03.2023 в 22:15. |
06.03.2023, 22:28 | #25 |
Участник клуба
Регистрация: 17.04.2022
Сообщений: 1,833
|
Очевидная очепятка автора (переводчика).
|
07.03.2023, 01:29 | #26 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,342
|
macomics прав про опечатку. Старайтесь сверяться с книгой на оригинальном языке:
"Every time a card is drawn, this variable is decreased by 1."
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
09.03.2023, 13:34 | #27 |
Пользователь
Регистрация: 14.03.2022
Сообщений: 32
|
А если объявить массив чисел за пределами основной функции main(), и не обозначить значения чисел внутри массива, то массив будет полностью заполнен нулями?
|
09.03.2023, 14:10 | #28 | |
Участник клуба
Регистрация: 17.04.2022
Сообщений: 1,833
|
Цитата:
Ещё при использовании переменных из секции неинициализированных данных вы можете столкнуться с ошибкой повторного доступа. Скажем у вас есть функция, которая осуществляет манипуляции с такой переменной. Но при её первом вызове состояние переменной будет таким, как при загрузке программы, а при повторном уже нет. Если в расчётах функция полагает, что в переменной 0, тогда на выходе уже будет посчитанное значение, которое и останется в переменной до повторного вызова. И куда запутаннее дело будет, если переменной пользуются несколько функций. Тогда можно получить ситуацию, что при одних обстоятельствах первой вызвана одна функция, а при других - вторая. И тогда придётся искать ошибку отсутствующей инициализации общей переменной в неопределённых обстоятельствах. Другое дело массивы выделяемые динамически. При запросе для них памяти вы можете указать необходимость её обнуления и тогда этим пользоваться (воспринимать массив как обнулённый). А в целом компилятор на такое выдаёт ошибки и не получится оставить переменную без начальных значений. Последний раз редактировалось macomics; 09.03.2023 в 14:23. |
|
09.03.2023, 20:01 | #29 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,342
|
macomics, да вроде стандарты C и C++ гарантируют инициализацию нулями глобальных переменных.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
09.03.2023, 20:27 | #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 |