Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Subj0
0 / 0 / 0
Регистрация: 10.06.2016
Сообщений: 1
#1

Объяснить работу кода - C++

10.06.2016, 15:13. Просмотров 186. Ответов 2

Подскажите пожалуйста как работает этот код при F(9). На экран выводит 131159, но как это происходит?

C++
1
2
3
4
5
6
7
8
9
void F(int n)
{
    if (n > 0)
    {
        F(n / 3);
        F(n - 4);   
        cout << n;
    }
}
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.06.2016, 15:13
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Объяснить работу кода (C++):

Объяснить работу кода - C++
Объясните что происходит в данном коде #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include&lt;cmath&gt; int _tmain(int argc, _TCHAR*...

Просьба объяснить работу std::thread в двух коротких примерах кода - C++
Доброго времени суток! Я использую std::thread чтобы поднять два разных потока. В первом случае всё работает хорошо. Во втором нет. ...

Замена двойных пробелов из входного файла на одиночный пробел и запись в выходной файл (объяснить работу кода) - C++
Здравствуйте, нашла код программы, которая заменяет в файле Input.txt двойные пробелы в исходном файле на одиночные пробелы и выводит это...

Объяснить работу Memcpy - C++
Доброго времени суток! Можете пояснить работу memcpy под C++? Что-то у меня определённо работает не так. Например такой код: ...

Объяснить работу функции - C++
Может кто объяснить работу функции void zagalovok() { Node *t; head=new Node(); t=head; int V; cout&lt;&lt;&quot;Введите...

Объяснить работу программы - C++
Здравствуйте. Такая задача была: Нашёл на форуме подходящую рабочую программу, но не могу полностью понять (и объяснить), как она...

2
olya7
477 / 294 / 91
Регистрация: 18.02.2013
Сообщений: 684
10.06.2016, 15:47 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
F(9)

1)F(3) 2) F(5)

4) F(1) 5)F (-1) 6) F(1) 7) F(1)

ответвления 4)-7) ведут к ответвлениям, где n<=0
поэтому вначале выполнится 4) - на экран вылезет 1, затем отработает его родитель 1) - на экране появится 3, далее отработает ветвь 2) которая вызовет 6) - на экране появится еще одна 1, далее отработает 7) - еще одна 1, далее отработает сама ветвь 2) - на экран выползет 5, ну и последняя на экран выползет 9
0
Mr.X
Эксперт С++
3050 / 1695 / 265
Регистрация: 03.05.2010
Сообщений: 3,867
10.06.2016, 21:21 #3
Цитата Сообщение от Subj0 Посмотреть сообщение
Подскажите пожалуйста как работает этот код при F(9).
Легче всего понять, если нарисовать на бумаге бинарное дерево вызовов, а потом рекурсивно прочитать его в порядке левое поддерево - правое поддерево - вершина.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.06.2016, 21:21
Привет! Вот еще темы с ответами:

Объяснить работу конструктора - C++
простите за тупое название темы Добрый вечер, возникла проблема в изучении деструкторов целом проблема не самое в деструкторов, а в...

Объяснить работу программы - C++
Во введенном слове подсчитать количество различных пар букв. Например, в слове babacabacd 5 различных пар букв, ba – 3 пары, ac – 2 пары. ...

Объяснить работу оператора switch - C++
Всем привет есть вопрос. В каком случае в блоке операторов caseнеобходимо использовать фигурные скобки? Вроде как, если используются...

Объяснить работу двух кодов - C++
char a={&quot;kakogo hrena?&quot;}; cout&lt;&lt;a&lt;&lt;endl; // kakogo hrena? и int a={11,22,33}; cout&lt;&lt;a&lt;&lt;endl; // 001cfb50 Собсно почему в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru