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

С помощью рекурсии вывести на экран весь диапазон между заданными числами - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Определить радиус пяти первых боровских орбит в метрах и ангстремах http://www.cyberforum.ru/cpp-beginners/thread1130544.html
Радиус боровской орбиты электрона находится по формуле: r=ε0*h^2*n^2/π*me*e^2. Определить радиус пяти первых боровских орбит в метрах и ангстремах.
C++ Не рекурсивный обход графа в глубину доброго времени суток. Запутался, помогите разобраться и исправить ошибку ( void OrGraph::dfs(int v){ int n = GetCount(); // получаем количество вершин int *a = new int; for (int i = 0; i < n; i++){ *(a + i) = 1; } int k = numberTop(v);// кладем в к номер вершины v http://www.cyberforum.ru/cpp-beginners/thread1130543.html
C++ Вычислить функцию f(x), используя ее разложение в степенной ряд (дорешать)
Для х изменяющегося от a до b с шагом (b-a)/k, где (k=10), вычислить функцию f(x), используя ее разложение в степенной ряд в трех случаях: а) для заданного n; б) для заданной точности е (е=0.0001); с) для «точного» значения (по аналитической формуле). Для сравнения найти относительную погрешность вычисления функции значение функции о_погр = ABS( (точ_знач – приближ_знач)/ точ_знач)...
Разделить строки на мелкие части C++
Помогите реализовать такую вещь: Пользователь вводит слова через запятую (one,two,three,four,five,six), программа же записывает каждое слово в отдельную строку (аналог String split по запятой в ArrayList - на Джаве). И есть ли split вообще в C++?
C++ Матрица D(4,4). Определить максимальный среди положительных, минимальный среди отрицательных и поменять их местами http://www.cyberforum.ru/cpp-beginners/thread1130494.html
Помогите решить задачу: Задана матрица D(4,4). Определить максимальный среди положительных, минимальный среди отрицательных и поменять их местами. Буду очень благодарен.
C++ Отсутствие библиотеки sScrollBar.hpp мешает запуску проекта Здравствуйте, я столкнулся со следующей проблемой: наткнулся я как-то в сети на проект, написанный в борланде 2009, в котором есть функционал, очень необходимый мне. Я его скачал, скачал и сам борланд 2009, чтобы запустить его. Открыл файл проекта и нажал заветную клавишу F9. Но к моему сожалению, построение проекта не было выполнено по причине того, что не была найдена библиотека sScrollBar.hpp.... подробнее

Показать сообщение отдельно
KOPOJI
Модератор
 Аватар для KOPOJI
16239 / 6450 / 389
Регистрация: 12.06.2012
Сообщений: 19,330
28.03.2014, 07:35     С помощью рекурсии вывести на экран весь диапазон между заданными числами
Цитата Сообщение от ValeryS Посмотреть сообщение
можно не меняя практически код
Почти "можно". Конечно да, хвостовая рекурсия вещь - но в C++ ее использование не в void-функциях, увы, является ошибкой - т.к. необходимо возвращать значения.. А здесь необходимо, все же, использовать не void-функцию (хотя я и не вижу смысла в этом). В итоге получится, что код будет либо с ошибкой (Что-то там про control reaches end и не void-функцию), либо с одной итерацией.
Ну и, помимо этого:
Если использовать хвостовую рекурсию, то уж точно не инкрементировать значение
Цитата Сообщение от ValeryS Посмотреть сообщение
C++
1
print_interval(++from, to);
меняем на
C++
1
print_interval(from + 1, to);
Иначе у нас вывод "сдвинется"
Ну и, опять же, насколько я понял задание, требуется выводить числа из диапазона между числами, не включая сами эти числа. Основная проблема при использовании рекурсии в данном случае заключается именно в этом (и еще в том, что надо не-void функцию).
Если рассуждать логически, то данная проверка на первый/последний элемент должна быть сокрыта внутри функции. А это уже очень неудобно

Не по теме:

Вообще, очень хочется передать преподавателю "привет" и сообщить ему, что использование функции с возвратом значения в данном случае явно не является использованием по назначению и что для обучения лучше уж использовать поиск чисел Фибоначчи, например.. Хотя это может я не вижу "логичного" использования возврата значений?

 
Текущее время: 06:59. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru