Поиск
 
 

Результаты :
 


Rechercher Расширенный поиск

Кто сейчас на форуме
Сейчас посетителей на форуме: 1, из них зарегистрированных: 0, скрытых: 0 и гостей: 1

Нет

[ Посмотреть весь список ]


Больше всего посетителей (9) здесь было Вс Фев 11, 2018 12:54 pm
Самые активные пользователи за неделю
Ярослав
 


Вопросы по 4 дз

Перейти вниз

Вопросы по 4 дз

Сообщение автор Ruslan в Чт Фев 23, 2017 1:41 am

я не понимаю вот эти команды
sum=digit%10;
       digit/=10;
что они дают?

Ruslan

Posts : 3
Join date : 2017-02-23

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: Вопросы по 4 дз

Сообщение автор Ярослав в Пт Фев 24, 2017 10:12 am

Пусть в переменной digit хранится некоторое число, например 678.

678 % 10 — это остаток от деления 678 на 10, то есть 8 — последняя цифра 678.

678 / 10 — это результат целочисленного деления 678 на 10, то есть 67.8, от которого отброшена дробная часть. Это будет 67 — первые цифры 678, когда последнюю убрали.

Таким образом в переменной sum будет отщеплена последняя цифра 678, а само 678 в переменной digit уменьшится в 10 раз, оставив 67. Если это повторять раз за разом в цикле, мы получим все цифры исходного числа по очереди, а само число будет уменьшаться, уменьшаться до 0.
avatar
Ярослав
Admin

Posts : 439
Join date : 2016-12-21
Location : Москва

Посмотреть профиль http://itstep.forum2x2.ru

Вернуться к началу Перейти вниз

Re: Вопросы по 4 дз

Сообщение автор Ruslan в Сб Фев 25, 2017 12:57 am

Ярослав пишет:Пусть в переменной digit хранится некоторое число, например 678.

678 % 10 — это остаток от деления 678 на 10, то есть 8 — последняя цифра 678.

678 / 10 — это результат целочисленного деления 678 на 10, то есть 67.8, от которого отброшена дробная часть. Это будет 67 — первые цифры 678, когда последнюю убрали.

Таким образом в переменной sum будет отщеплена последняя цифра 678, а само 678 в переменной digit уменьшится в 10 раз, оставив 67. Если это повторять раз за разом в цикле, мы получим все цифры исходного числа по очереди, а само число будет уменьшаться, уменьшаться до 0.

то есть это такой круговой алгоритм получается?
при выполнении этого действия sum=digit%10 в summ записывается остаток от деления?
тогда зачем нужно это digit/=10, все равно не понимаю

Ruslan

Posts : 3
Join date : 2017-02-23

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: Вопросы по 4 дз

Сообщение автор Евгений в Сб Фев 25, 2017 7:19 pm

Ruslan пишет:
Ярослав пишет:Пусть в переменной digit хранится некоторое число, например 678.

678 % 10 — это остаток от деления 678 на 10, то есть 8 — последняя цифра 678.

678 / 10 — это результат целочисленного деления 678 на 10, то есть 67.8, от которого отброшена дробная часть. Это будет 67 — первые цифры 678, когда последнюю убрали.

Таким образом в переменной sum будет отщеплена последняя цифра 678, а само 678 в переменной digit уменьшится в 10 раз, оставив 67. Если это повторять раз за разом в цикле, мы получим все цифры исходного числа по очереди, а само число будет уменьшаться, уменьшаться до 0.

то есть это такой круговой алгоритм получается?
при выполнении этого действия sum=digit%10 в summ записывается остаток от деления?
тогда зачем нужно это digit/=10, все равно не понимаю
Я бы добавил "+", чтоб sum сделать накопительной.
Код:
sum += digit % 10;
digit /= 10;
В первой строчке, в переменную sum записывается, как ты правильно заметил, остаток от деления - 8. Затем, во второй строчке от исходного числа откидывается последний знак, т.е. на примере Ярослава вместо 678 получаем 67. По скольку данные строчки находятся внутри цикла, операция повторяется, только теперь переменная digit хранит число 67. И так далее, пока число не закончиться. На выходе в переменной sum будет накоплена сумма всех цифр исходного числа. С этими разными делениями в программировании сплошная головная боль Грущу

Евгений

Posts : 6
Join date : 2017-01-30

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: Вопросы по 4 дз

Сообщение автор Ruslan в Вс Фев 26, 2017 3:12 pm

Евгений пишет:
Ruslan пишет:
Ярослав пишет:Пусть в переменной digit хранится некоторое число, например 678.

678 % 10 — это остаток от деления 678 на 10, то есть 8 — последняя цифра 678.

678 / 10 — это результат целочисленного деления 678 на 10, то есть 67.8, от которого отброшена дробная часть. Это будет 67 — первые цифры 678, когда последнюю убрали.

Таким образом в переменной sum будет отщеплена последняя цифра 678, а само 678 в переменной digit уменьшится в 10 раз, оставив 67. Если это повторять раз за разом в цикле, мы получим все цифры исходного числа по очереди, а само число будет уменьшаться, уменьшаться до 0.

то есть это такой круговой алгоритм получается?
при выполнении этого действия sum=digit%10 в summ записывается остаток от деления?
тогда зачем нужно это digit/=10, все равно не понимаю
Я бы добавил "+", чтоб sum сделать накопительной.
Код:
sum += digit % 10;
digit /= 10;
В первой строчке, в переменную sum записывается, как ты правильно заметил, остаток от деления - 8. Затем, во второй строчке от исходного числа откидывается последний знак, т.е. на примере Ярослава вместо 678 получаем 67. По скольку данные строчки находятся внутри цикла, операция повторяется, только теперь переменная digit хранит число 67. И так далее, пока число не закончиться. На выходе в переменной sum будет накоплена сумма всех цифр исходного числа. С этими разными делениями в программировании сплошная головная боль Грущу

Как я понимаю в summ записывается то же число 678, только наоборот, верно?
и эту формулу можно было использовать во втором задании 4 домашки
а если я хочу к примеру сделать то самое, но вывести на экран не 876, а 678, значит вторую строчку из кода я убираю, так?

Ruslan

Posts : 3
Join date : 2017-02-23

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: Вопросы по 4 дз

Сообщение автор Ярослав в Вс Фев 26, 2017 6:02 pm

Нет, в этом случае в summ будут складываться цифры:

summ = 0
summ = summ + 8
summ = summ + 7
summ = summ + 6

В итоге в summ сумма цифр (8 + 7 + 6 = 21)
avatar
Ярослав
Admin

Posts : 439
Join date : 2016-12-21
Location : Москва

Посмотреть профиль http://itstep.forum2x2.ru

Вернуться к началу Перейти вниз

Re: Вопросы по 4 дз

Сообщение автор Спонсируемый контент


Спонсируемый контент


Вернуться к началу Перейти вниз

Вернуться к началу


 
Права доступа к этому форуму:
Вы не можете отвечать на сообщения