Форум программистов, компьютерный форум 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 включительно. Вывести те числа, которые наиболее редко встречаются в массиве и количество их повторений. Подсчет количества повторений для числа оформить в виде функции. Я уже почти все сделал, но нужно, чтобы программа выводила количество повторений каждого числа, и если будет несколько наиболее редких... подробнее

Показать сообщение отдельно
Kuzia domovenok
 Аватар для Kuzia domovenok
1883 / 1738 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
29.10.2012, 23:27     Вопрос по рекурсии
Цитата Сообщение от aleksand Посмотреть сообщение
Объясните кто-нибудь пожалуйста, почему когда мы возвращаемся в третий вызов, то у нас выполняется код cout << *s; Хотя *s отлична от конца строки и должна выполняться строчка if (*s) reverse (s+1); Как вообще тогда потом ещё мы возвращаемся и во второй вызов?
Потому, что мы возвращаемся не в начало функции, а в то место откуда в прошлый раз прервали её выполнение и вызвали reverse. А это конец if'а и переход из пятой на девятую строчку, потому как reverse уже выполнен и мы идём дальше.
return же расположен в блоке else и вызовется тогда и только тогда, когда if не сработает, то есть на последнем символе.
 
Текущее время: 20:56. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru