IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> рекурсия, Определить число, получаемое выписыванием в обратном порядке цифр зада
сообщение
Сообщение #1


Бывалый
***

Группа: Пользователи
Сообщений: 198
Пол: Мужской

Репутация: -  1  +


Определить число, получаемое выписыванием в обратном порядке цифр заданного натурального числа (использовать рекурсивную функцию). Ничего не приходит в голову blink.gif Кто-нибудь, дайте пожалуйста направление(код постараюсь написать сам)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Гость






Цитата
стоит ли полагаться на такие вещи..
На какие такие? Я не делаю ничего запрещенного, заметь, сначала - рекурсивный вызов, потом - использование значения b. То есть, никогда не будет использовано неинициализированное тобой значение b. Чтобы оно начало использоваться - рекурсия должна дойти до конца (x = 0), но тогда b уже станет равно 1. Опять же, "типизированная константа" = "статическая переменная", она описывается в сегменте данных (а не в стеке, как обычная переменная), и поэтому сохраняет свое значение не только между вызовами простых функций, но и между вызовами рекурсивных тоже, так что и с этой стороны подвохов быть не может. Так что это вполне приемлемая конструкция.

Цитата
У меня не каждый раз срабатывала под FPC
Если еще у кого-то будут неправильные срабатывания - отпишитесь здесь, интересно, на каких значениях это происходит. Чему разно изначальное число, и что возвращает функция. Единственный вариант, который приходит в голову - это когда "перевернутое" число не влезет в LongInt (например, 1234567899), но тут уж ничего не поделаешь.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(volvo @ 3.04.2010 14:10) *
На какие такие? Я не делаю ничего запрещенного,
Я все это понимаю, потому я и выразился туманно smile.gif.
Способ, конечно, аппетитный. Чтобы корректно обрабатывать внутренние нули мне пришлось оценивать порядок частного, вводить дополнительный цикл - а тут все уитывается на автомате. Вроде действительно должно работать.. Я наблюдал ошибку на ноутбуке, а тут (на домашнем компе) не могу воспроизвести. Завтра попробую еще на ноуте.

Не исключено, что я что-то путаю. Значения были 12345 и 67890, кажется.


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
marwell   рекурсия   2.04.2010 20:18
Client   брать остатока от деления на 10, делай с ним что н…   2.04.2010 20:21
marwell   брать остатока от деления на 10, делай с ним что …   2.04.2010 20:23
marwell   черт, даже не знаю, как это можно написать с рекур…   2.04.2010 20:48
volvo   Ничего не потеряем: procedure rec(x: longint); beg…   2.04.2010 21:04
marwell   спасибо! :good:   2.04.2010 21:21
marwell   а реально ли сделать это через функцию, а не проце…   3.04.2010 1:30
Client   пол часа мучений стоили этого :) скорей всего мо…   3.04.2010 2:12
volvo   Можно конечно... Заметь, без побочных эффектов. Ст…   3.04.2010 3:13
marwell   Можно конечно... Заметь, без побочных эффектов. С…   3.04.2010 13:23
Lapp   а разве можно константе b=0 присвоить значение b:=…   3.04.2010 13:32
marwell   спасибо огроменное :good:   3.04.2010 7:59
marwell   программа выдает только нули :blink:   3.04.2010 13:38
Lapp   программа выдает только нули :blink: Попробуй вот …   3.04.2010 14:43
Client   хм, а собственно где нули получаются? при каких да…   3.04.2010 14:55
marwell   хм, а собственно где нули получаются? при каких д…   3.04.2010 14:57
Client   volvo :good: есть над чем подумать :) [b]Добавл…   3.04.2010 15:05
volvo   Что не так?Не так работает под Турбо-Паскалем, над…   3.04.2010 15:50
Lapp   Не так работает под Турбо-ПаскалемУ меня не каждый…   3.04.2010 16:17
volvo   На какие такие? Я не делаю ничего запрещенного, за…   3.04.2010 17:10
Lapp   На какие такие? Я не делаю ничего запрещенного,Я в…   3.04.2010 17:46
Lapp   наблюдал ошибку на ноутбуке, а тут (на домашнем ко…   4.04.2010 7:16
volvo   Нули получаются при запуске программы из 9-го пост…   4.04.2010 16:12


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 7.05.2024 16:27
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name