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

Инкремент в рекурсии - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Статические библиотеки и Visual studio http://www.cyberforum.ru/cpp-beginners/thread636283.html
1) Создала новый проект как статическая библиотека без предкомпилированных заголовков. 2) Написала некоторые функции. 3) Выставила релиз версию. 4) Собрала проект. На выходе получила lib файл. Вынесла отдельно в файл .h все описания структур и прототипы функций. Решила испытать ее, создала новый проект подключила этот lib файл и также заголовочный файл, вызвала функцию из этой...
C++ "Порядковый номер" для каждого экземпляра класса? Добрый вечер! Кто знает C++. Подскажите пожалуйста, сейчас застрял на задаче, где нужно создать "порядковый номер" для каждого создаваемого экземпляра класса. В коде который ниже на экран действительно выведется информация, что число объектов: 1, 2, 3, но в следующей задаче где нужно будет сначала ввести информацию о трех кораблях, а затем вывести все это на экран - три объекта... http://www.cyberforum.ru/cpp-beginners/thread636280.html
C++ Найти номера наиболее и наименее удаленных друг от друга точек
В одномерном массиве с четным количеством элементов (2N) находятся координаты N точек плоскости. Они располагаются в следующем порядке: x1, у1, х2, у2, x3, y3 и т.д. Найти номера наиболее и наименее удаленных друг от друга точек. Вот мой код: #include <iostream> #include <iomanip> #include <vector> #include <cmath> using namespace std; int main()
C++ Дефрагментация и FSCTL_MOVE_FILE
Делал так как пишет мсдн http://msdn.microsoft.com/en-us/library/windows/desktop/aa363911(v=vs.85).aspx откуда брать параметры для FSCTL_MOVE_FILE int GetClusters(const char* name,bool d) { MOVE_FILE_DATA MoveParams;
C++ Алгоритм быстрой сортировки против пузырька http://www.cyberforum.ru/cpp-beginners/thread636246.html
Решил проверить утверждение, что быстрая сортировка намного эффективнее пузырьковой. Результат пузырька увидел почти сразу, а быстрой сортировки ждал пару минут и выключил. В чём дело? Ошибка в коде? Или пузырькём лучше быстрой сортировки? Вот код: //Sort.cpp void BubbleSort(int num, int size_num){
C++ Непонятное выражение Что тут написано? p = array; подробнее

Показать сообщение отдельно
The_Immortal
1548 / 484 / 8
Регистрация: 04.04.2009
Сообщений: 1,891
12.08.2012, 00:08     Инкремент в рекурсии
Ребят, что-то не могу врубиться.
Задача: используя рекурсию выводить введенный ранее текст в обратном порядке.

Вот рабочая версия:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
 
using namespace std;
 
void reverse(char *);
 
    char a[256];
    cout << "Enter the string: ";
    cin >> a;
    reverse(a);
 
    system("pause");
 
void reverse(char *str) {
    if (*str) {
        reverse(str + 1); //!!!
    }
    else
        return;
    cout << *str;
}
Пытался заменить
C++
1
reverse(str + 1);
на
C++
1
reverse(++str);
- но таким образом происходит потеря первого знака при выводе. Т.е. если я введу изначально "12345", то получу в ответ: " 5432". Почему так происходит?

Также заменял вышеупомянутую строчку на
C++
1
reverse(str++);
- но таким образом смещение по строке вообще не происходит и в итоге получаю переполнение цикла... Тоже не особо понимаю почему. Но вероятно из-за того, что в функцию передается сразу str, а ++ игнорируется. И так в бесконечный цикл и впоследствии stack overflow.
Но почему не срабатывает тогда
C++
1
reverse(++str);
? Ведь это аналогично
C++
1
reverse(str + 1);
... Или нет?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 05:01. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru