Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Найти сумму элементов массива с чётными номерами и среди них найти минимальный и количество, равных ему https://www.cyberforum.ru/ cpp-beginners/ thread1921689.html
Найти сумму элементов массива с четными номерами и среди них найти минимальный и кол-во элементов, равных минимальному. Вывести исходный массив и массив, получившийся в результате
C++ Ошибки: "invalid use of non-static data member", "error: from this location"
Здравствуйте. Помогите пожалуйста понять в чём я не прав. Почему компилятор не даёт объявить указатель на структуру и почему я не могу использовать указатель nullptr как параметр по-умолчанию? #include <iostream> #include <vector> using namespace std; struct Node { Node(string const& nodeName_): nodeName(nodeName_) {} string nodeName;
C++ Не выводит русские символы в консоли в одном приложении, Code::Blocks https://www.cyberforum.ru/ cpp-beginners/ thread1921681.html
Делаю консольную программу, она должна заменять букву "а" на "у" из введенного текста, проблемы с выводом русского именно в ней (в других выводит всё) вот программа, собственно:#include <cstdio> #include <iostream> #include <clocale> using namespace std; int main() { setlocale(LC_CTYPE,"rus"); char mas;
C++ Вычислить значение выражения https://www.cyberforum.ru/ cpp-beginners/ thread1921679.html
По заданным x и z вычислить y=z +0,123, где x=z5+5z4, если z>1 или x=0, если 1<=z<=1 или x=z5+10z3, если z<-1. Правильно?: #include <iostream> #include <conio.h> using namespace std; int x, y, z; int main() {
Сравнительный анализ двух методов сортировки C++
Добрый день, прошу помочь со следующей задачей: Необходимо разработать программу для анализа методов сортировки таблицы. Выполнить сравнительный анализ метода вставки с прямым включением и метода Шелла. Сравнительный анализ методов сортировки следует выполнять путем подсчета числа сравнений ключей, выполненных в процессе сортировки таблицы различными методами. Программа разрабатываемого...
C++ Как использовать тип char в конструкции switc-case? https://www.cyberforum.ru/ cpp-beginners/ thread1921667.html
При моем вводе ,выводит "Error : Not Found! . Помогите пожалуйста! #include <iostream> using namespace std; void greeting() { char a; cin>>a; switch (a) {
C++ Поиск циклов в ориентированном графе https://www.cyberforum.ru/ cpp-beginners/ thread1921637.html
Доброго времени суток. Может кому-нибудь из вас не составит особого труда, или возможно кто-то писал похожую программу. В общем, я написал программу поиска циклов в орграфе используя поиск в глубину. Для большинства несложных графов она работает, а вот для графа, приведенного ниже не совсем. Точнее программа находит не все циклы(в приведенном ниже примере находит 4 из 5). Уважаемые программисты,...
Написать программу с матрицей C++
Дана целочисленная матрица MxK. Сформировать новую матрицу путем прибавления в каждой строке к каждому элементу исходной матрицы максимального значения элемента данной строки.
C++ Как создать массив из объектов разных классов, имеющих общего предка? Есть основной класc 'Автомобиль' его наследуют 3 класса: мини вен, купе и седан. Как создать массив объектов класса 'автомобиль' что бы он включал в себя объекты классов мини вен, купе и седан? class car { private: int _t; public: car() {} car(int t):_t(t){} }; https://www.cyberforum.ru/ cpp-beginners/ thread1921630.html C++ Как оптимизировать код? Вот такой код, написанный для микроконтроллера импульсного блока питания. Просто интересно мнение, что можно поменять и изменить для более высокой скорости и уменьшения кода. #include <iostream> #include <cmath> int cool (int V){ double cooler = (double) V; // Преобразуем вещественное значение значение с плавающей точкой. cooler/=100; // Делим число на 100. https://www.cyberforum.ru/ cpp-beginners/ thread1921628.html
C++ Определить, попадает ли точка в заштрихованную область на рисунке
Здравствуйте. Помогите пожалуйста построить программу, которая вводит координаты точки (x, y) и определяет, попадает ли точка в заштрихованную область на рисунке. Попадание на границу области считать попаданием в область.
C++ Числа с плавающей точкой после деления Помогите, какая тут ошибка? мне нужно чтобы вышло числа с плавающей точкой после деления( например, 13/2=6,5), а у меня почему то выходит только 6 (13/2) #include <stdio.h> #include <conio.h> #include <locale.h> int main() { setlocale(LC_CTYPE, "Russian"); int a,b; printf("Введите переменную a:"); https://www.cyberforum.ru/ cpp-beginners/ thread1921614.html
56 / 56 / 31
Регистрация: 24.10.2016
Сообщений: 186
16.02.2017, 22:00 0

Пояснить работу рекурсивной функции - C++ - Ответ 10122265

16.02.2017, 22:00. Показов 553. Ответов 3
Метки (Все метки)

Ответ

Понять работу рекурсии легко, если понять что некоторые подзадачи можно опять свести к исходной задаче.
Например, как здесь - имеем массив и его длину, нужно получить максимальный элемент в массиве. Окей, разобьем его пополам - теперь задача сводится к следующему - имеем 2 массива, нужно узнать максимальный элемент каждого массива (строки 5 и 6), далее из этих двух результатов нужно опять узнать максимум (строка 7). То есть, мы свели задачу практически к идентичной.
Теперь подумаем, когда это деление должно закончится - очевидно, когда размер массива равен единице - делить дальше то некуда. Поэтому просто возвращаем это единственное значение - оно ведь максимальное в массиве размером 1 элемент (строки 3 и 4).

Вернуться к обсуждению:
Пояснить работу рекурсивной функции C++
1
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.02.2017, 22:00
Готовые ответы и решения:

Объясните работу рекурсивной функции из книги Г. Шилдта
Здравствуйте.Вопрос такой ,самостоятельно изучаю с++ по книге Герберта Шилда,дошел до темы рекурсия...

Разработать программу по алгоритму с использование рекурсивной функции и без использования рекурсивной функции
Разработать программу по алгоритму с использование рекурсивной функции и без использования...

Написать функции рекурсивной и не рекурсивной реализации алгоритма Евклида нахождения наибольшего общего делителя (НОД) двух натуральных чисел
Написать функции рекурсивной и не рекурсивной реализации алгоритма Евклида нахождения...

Пояснить работу цикла
Привет всем Ребята помогите расскажите мне как работает этот Код точнее команда for в нете инфы...

3
16.02.2017, 22:00
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.02.2017, 22:00
Помогаю со студенческими работами здесь

Прошу пояснить работу функций
Доброго времени суток. Объясните плз работу функций... #define axv (u16) 0x0000 | (1&lt;&lt;3) ...

Нужно пояснить работу с потоками ofstream, ifstream, fstream
Лектор не поставил коментариев, а я сейчас как дурак сижу разшифровую. Помогите, особенно на...

Пояснить работу программы, которая складывает элементы введённого числа между собой
Вот нашёл программу которая слаживает элементы введённого числа между собой.Я не могу понять, как...

С помощью рекурсивной функции вывести значение функции sin(x) от А до B включая с шагом step
Дан прототип функции void print_tab (float A, float B, float step) Как с помощью рекурсии...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru