![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 06.12.2009
Сообщений: 11
|
![]()
Пыталась сделать задание б), но компилятор указывает на ошибку!!!Подскажите, как надо переделать, плиз!
Определить рекурсивную функцию: а)вычисления суммы цифр натурального числа; б)вычисления количества цифр натурального числа. разработать программу с заданными функциями. Код:
Последний раз редактировалось Stilet; 15.02.2010 в 08:46. |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 15.01.2010
Сообщений: 948
|
![]()
а)
Код:
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 06.12.2009
Сообщений: 11
|
![]()
Спасибо Вам большое!!!
Я пыталась сделать по аналогии задания (а), хотела поставить счетчик, чтоб посчитать количество цифр, но у меня, к сожалению, не вышло...=( как вообще ставить счетчик в рекурсивной функции?? |
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 15.01.2010
Сообщений: 948
|
![]()
Не за что
![]() Счётчик (если имеется в виду счётчик цикла) в этой задаче не нужен совершенно!! Рекурсия - это, вообще-то, шаманство ![]() 1.1 При каком условии нужно из ф-ии выходить? 1.2 Что при этом возвращать? 2.1 При каком условии нужно себя снова вызывать? 2.2 Что при этом себе передавать? 1.1, 2.1 и 2.2 в обеих Ваших задачках совершенно одинаковы ![]() ![]() |
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 06.12.2009
Сообщений: 11
|
![]()
Честное слово, я пыталась, мудрила и безрезультатно(( там нужно что то дописать, а что именно я не знаю! =( выводит 1 и все =(
#include <iostream> using namespace std; /*int fa( int x ) { if ( x < 10 ) return x; else return x%10 + fa( x/10 ); }*/ int f( int k) //задание б) { if ( k < 10 ) return 1; else return f(k/10); } int main() { int a; cout << "Vvedite a\n"; cin >> a; //cout << "Summa tsifr chisla " << a << " rawna " << fa( a ) << endl; cout << "kol-vo tsifr v chisle " << a << " rawno " << f( a ) << endl; return 0; } Help me, please!!!! ![]() |
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 15.01.2010
Сообщений: 948
|
![]()
Должен абсолютно серьёзно сказать, что "мудрите" Вы - в абсолютно верном направлении. Возьмите двузначное число, прокрутите его через Вашу нынешнюю рекурсивную процедурку и допишите в ней одну цифру и один знак арифметической операции!
![]() Не напишете - в угол отправлю :-P ![]() |
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 06.12.2009
Сообщений: 11
|
![]()
Ааааааа.........УРААААА!!!!!! =))))))))) у меня получилось =)))))))
я дописала "+1" и все вышло!!!!! =))))))) Спасибо Вам большое!!! =)))) P.S. хахаха =))))))) не удалось вам меня в угол поставить =Р =) |
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 15.01.2010
Сообщений: 948
|
![]()
Молодец!
![]() В угол - всё равно :-P За то что тегами "[CODE]" не пользуетесь. "Будет трудно - зови. Поможем!" ![]() |
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 06.12.2009
Сообщений: 11
|
![]()
Еще раз спасибо!!!
![]() ![]() P.S. вредные Вы!!! =)))) |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Рекурсивная функция Делфи | Asira | Помощь студентам | 2 | 15.12.2009 17:43 |
Си++. Рекурсивная функция. | Diamond2107 | Помощь студентам | 6 | 02.12.2009 19:48 |
Задача (рекурсивная) | Witaliy | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 21.01.2009 06:18 |