Объясните мне пожалуйста по уроку 4 C++
Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.
Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.
Доброго дня. Начал изучать С++. И вот на четвертом уроке у меня он как-то странно себя ведет. Там в уроке считается сумма всех чисел от 1 до 1000. Я все это сделал — все хорошо. Стал ковыряться, пробовать. Добавил в код возможность пользователю самому задавать конечное число, до которого нужно посчитать сумму всех чисел. Потом сделал возможность вычислить сумму всех четных и всех нечетных чисел. Потом сделал проверочное действие, поставил условие, где сумма всех четных складывается с суммой всех нечетных и сравнивается с суммой всех чисел. Но заметил одно странное явление. Если указывать число до миллиона, то тогда все нормально делает. А вот если указать более миллиона, 1100000 например, то тогда сумма всех числе становится отрицательной. Или если указать число 100000, тогда сумма всех чисел положительное число, а вот суммы четных и суммы нечетных чисел получаются отрицательными. Почему так?
Вот сам код:
Арифметическое переполнение. Попробуй свою программу запустить со значением 100000. Потом поменяй тип переменных с int на __int64 и прогони ещё раз.
Спасибо, помогло. Я подозревал что-то подобное.