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

Рекурсия - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Дружественные бинарные операторы http://www.cyberforum.ru/cpp-beginners/thread981626.html
//прототипы внутри класса friend bool operator==(const Polynomial&, const Polynomial&); Polynomial &operator=(const Polynomial&); //Оператор присвоения Polynomial& Polynomial::operator=(const Polynomial& obj) { if (this == obj) return this; clear_list(&head); List *carriage = obj.head;
C++ Ошибка при "сборе мусора" . Повреждение кучи Привет ребята! Я совсем скверно знаю плюсы и не смотря на несколько лет довольно успешной работы в ИТ так и не заставил себя заниматься этим языком "вплотную", поэтому прошу помощи у вас, как экспертов. Я тут писал маленькую программулину, задача которой в рамках текущего код-ревью даже и не важна, и наткнулся на ошибку, которую никак не могу устранить. В результате компиляции программа: ... http://www.cyberforum.ru/cpp-beginners/thread981623.html
Описать функцию, что подсчитывает количество чисел в списке C++
содержающуя процедура формирования списка и функцию, подсчитывает количество чисел в списке, которые соответствуют Вашему варианту(13вариант)
C++ Мультисписок на базе бестиповых указателей (оцените код и подскажите что исправить )
Здравствуйте , Задача стояла реализовать мультисписковую структуру на базе массива бестиповых указателей. Структура примерно выглядит так прикрепленном изображении. Делал отдельный шаблонный класс который работал со массивом бестиповых указателей. А уже в структуре сделал поле указатель на этот объект этого класса. Но мне не нравится реализация моя . Хотелось бы сделать как-то более...
C++ Указатели С++ http://www.cyberforum.ru/cpp-beginners/thread981607.html
Здравствуйте) Помогите пожалуйста, нужно написать программу, в которой нужно имитировать функцию strchr(используя только указатели и не используя ) и пользователь вводит строку сам
C++ Pomagite naiti summu Помогите найти сумму 1 + (1/(k!)) k от 1 до n Console.Write("Vvedite n = "); double n = int.Parse(Console.ReadLine()); double summa = 0; for (int i = 1; i <= n; i++) { summa += (1 / i); } подробнее

Показать сообщение отдельно
fuzzytoozy
8 / 8 / 1
Регистрация: 23.11.2012
Сообщений: 94
19.10.2013, 21:32  [ТС]     Рекурсия
Цитата Сообщение от dzrkot Посмотреть сообщение
долго пытался понять то, что тебе не понять...

low и high не меняются, меняется только mid. Мы при вызове функции, просто от середины меняем границы функции, в одном случае вместо low ставим mid, в другом вместо high. Ты функцию вызываешь первый раз, subdivide(ar, low(0), high(64), level - 1);
потом она вызывает сама себя с разными значениями:
subdivide(ar, low(0), mid(32), level - 1);
subdivide(ar, mid(32), high(64), level - 1);
дальше mid снова меняется, и для каждой функции из этих 2ух он будет свой, т.е. в 1ом случае (0+32)/2=16, в другом (32+64)/2=48, потом каждая из функций вызывает другие две себя, дргумими значениями mid

я не понимаю что непонятно...)
Ты просто не понимаешь что я спрашиваю. Я понимаю что меняется значение только mid и оно передается как high или low. Суть вопроса не в том КАК это происходит. А каким образом получается число 24 в mid. Ты проследи цикл и попробуй мне объясни это. там получается так что в функции которой ПЕРЕДАЛИ MID в качестве параметра low = 16, а high = 32. Я и спрашиваю каким образом получаются такие значения, если у первого вызова функции low всегда = 0 и в качества параметра high передается mid, а у второго high всегда = 64 и в качестве параметра low. Тогда получается что одновременно могут изменяться только либо high либо low в одной функции, другое значение всегда остается постоянным 0 или 64, тогда каким образом они приняли вид 16 и 32....я не понимаю

Добавлено через 11 минут
Цитата Сообщение от zss Посмотреть сообщение
Легче будет понять в отладчике.
Поставьте останов на строку 32.
И далее выполняйте код построчно с заходом в функции
(в VS - клавиша F11). При этом следите за переменной mid.
я знаю в каком месте она меняется таким образом, я просто не понимаю почему и как именно таким образом. Откуда берется значение 24
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru