|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
10.12.2012, 14:13 | #1 |
Пользователь
Регистрация: 06.11.2012
Сообщений: 40
|
с++ Выяснить, образуют ли цифры данного натурального числа N воз- растающую последовательность.
Помогите, люди! я жутко туплю. Объясните, пожалуйста что тут делается в этой программе. а именно: зачем задавать ещё одну переменную tmp, кроме nom, а потом приравнивать их. И что такое происходит в цикле while?? и зачем задавать ещё переменную pre ?? что она обозначает? и если она приравнена к 9, то может вместо неё использовать просто 9??
Код:
|
10.12.2012, 14:20 | #2 |
Старожил
Регистрация: 19.08.2009
Сообщений: 2,119
|
Anya She
зачем задавать ещё одну переменную tmp, кроме nom, а потом приравнивать их наверное, чтобы сохранить оригинальное число nom. в программе оно не используется, так что в данном случае tmp не нужна. И что такое происходит в цикле while? последовательное получение цифр числа. задача решается методом от пра-а-ативного (((Ж числа в обратном порядке должны образовывать убывающую последовательность. это сделано из-за особенностей работы остатка от деления. и если она приравнена к 9, то может вместо неё использовать просто 9?? нельзя. ты что, не видишь, что далее по коду переменная prev пере-присаивается?
А вы почему со мной не соглашаетесь, у вас что, импотенция? (c) ACE Valery
|
10.12.2012, 14:25 | #3 |
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
1) nom - это, логически, входная переменная алгоритма проверки. Модифицировать входные данные, даже если они в дальнейшем нигде не используются - дурной тон. В основном потому, что иначе при модификации программы есть приличный шанс внести в неё трудноуловимые ошибки. Поэтому nom копируется в переменную tmp, которая и используется.
2) prev - "предыдущая цифра", tmp%10 - "текущая цифра". Обратите внимание, что prev меняется в цикле, так что использовать вместо неё константное выражение 9 не выйдет. Изначально она приравнивается "самой большой цифре" - ход сомнительный, но имеющий право на жизнь. |
10.12.2012, 14:43 | #4 |
Пользователь
Регистрация: 06.11.2012
Сообщений: 40
|
если я правильно понимаю, то
Код:
|
10.12.2012, 14:45 | #5 |
Made In USSR!
Старожил
Регистрация: 01.09.2010
Сообщений: 3,657
|
Код:
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой" |
10.12.2012, 14:51 | #6 |
Пользователь
Регистрация: 06.11.2012
Сообщений: 40
|
Спасибо... вроде понятно теперь. Не смогла додуматься до этой задачи, поэтому пришлось прибегнуть к помощи.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
выяснить, является ли последовательность цифр натурального числа при просмотре их справа налево возрастающей последовательностью | Al'f!ra | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 05.03.2012 19:13 |
Натуральное число - Определить, образуют ли все цифры числа возрастающую последовательность | Sasha2011 | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 18.10.2011 09:25 |
напечатать в возрастающем порядке все цифры, не входящие в запись данного натурального числа | Aimet | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 18.06.2011 19:57 |
напечатать в убывающем порядке все цифры, не входящие в запись данного натурального числа | Aimet | Паскаль, Turbo Pascal, PascalABC.NET | 0 | 16.06.2011 21:18 |
Найти количество различных цифр данного натурального числа. | stalker | Паскаль, Turbo Pascal, PascalABC.NET | 10 | 22.05.2007 17:45 |