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

Вопрос по рекурсии - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ "М" на "Н" http://www.cyberforum.ru/cpp-beginners/thread233602.html
Требуется написать программу на С++, заменяющюю в строке S все буквы "М" на "Н" и обратно. При отсутствии букв "М" и "Н", должно выдаваться соответствующее сообщение.
C++ Функции пользователя Функции пользователя Составить программу, которая решает задачу с такими дополнительными условиями: • размерность матрицы должна вводиться при выполнении программы; • само решение задачи должно быть оформлено в виде функции, которой передается матрица и ее размерность. Заполнить матрицу ЛП, от центра по спирали: влево - вниз - вправо - вверх. С ++ пожалуйста http://www.cyberforum.ru/cpp-beginners/thread233599.html
C++ Новичек
Что значит выполняется за время NlogN?
C++ operator
Всем привет, опять непонятка в книге, дошел до оператора operator и ничего не понял, для чего он нужен, что он делает, то есть как он перегружает символы и как им пользоваться, привидите пожалуйста пример, заранее благодарен!
C++ gljuki programi http://www.cyberforum.ru/cpp-beginners/thread233586.html
ustanovil na novij komp m.v.s. 2005, eta programa rabotala na drugom kompe otli4no sdes vidajot o6ibku pri vvode # include<iostream.h>
C++ Повторения Дана задача: Дан одномерный массив из 150 случайных целых чисел в диапазоне от 14 до 37 включительно. Вывести те числа, которые наиболее редко встречаются в массиве и количество их повторений. Подсчет количества повторений для числа оформить в виде функции. Я уже почти все сделал, но нужно, чтобы программа выводила количество повторений каждого числа, и если будет несколько наиболее редких... подробнее

Показать сообщение отдельно
bazaspb
Сообщений: n/a
24.01.2011, 22:55     Вопрос по рекурсии
Добрый вечер. В книжке С++ базовый курс Шилдта стр 175-176 есть пример Отображение строки в обратном порядке с помощью рекурсии (функция reverse)
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 *s);
 int main()
{
  char str [] = "eto test";
  reverse (str);
      return 0;
}
 
// вывод строки в обратном порядке
void reverse (char *s)
 
{if (*s)
reverse (s+1);
else
return;
 
cout << *s;
 }
и объяснение
Функция reverse () проверяет, не передан ли ей в качестве параметра указатель на нуль, которым завершается строка, Если нет, то функция reverse () вызывает саму себя с указателем на следующий символ в строке. Этот "закручивающийся" процесс повторяется до тех пор, пока той же функции не будет передан указатель на нуль. -- Пока понятно.
Когда, наконец, обнаружится символ конца строки, пойдет процесс "раскручивания", т.е. вызванные ранее функции начнут возвращать значения, и каждый возврат будет сопровождаться "довыполнением" метода, т.е. отображением символа s. В результате исходная строка посимвольно отобразится в обратном порядке. -- Вот тут непонятно.
Во-первых, void-функции вроде как не возвращают значения. Во-вторых - что такое "довыполнение" метода?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 10:45. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru