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

Рекурсия в различных компиляторах - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Ввод данных http://www.cyberforum.ru/cpp-beginners/thread336682.html
В общем есть переменная int year; Юзер должен ввести значение переменной, но мне нужно чтобы он мог ввести максимум четырехзначное число, тоесть как бы ограничить количество вводимых символов
C++ Графы Прочитал про обход графа в глубину, посмотрел реализацию, и тут вопрос а как можно использовать этот обход в глубину? http://www.cyberforum.ru/cpp-beginners/thread336673.html
Матрица Изменение C++
Здравствуйте! Просьба такая: "Приведите пожалуйста пример как можно расширять границы матрицы". Например из матрицы 3х3 сделать матрицу 3х4 и новый столбец добавленный сразуже обнулить. Я думаю что с помощью replace но опять такие нужен пример с хорошими пояснениями.
C++ взять адрес переменной
если & стоит перед переменной, то это читается как - " взять адрес этой переменной" а если он стоит после ?
C++ Инжект кода http://www.cyberforum.ru/cpp-beginners/thread336621.html
Здраствуйте... Пишу простый инжектор кода в процесс(win32). Использую CreateRemoteThread. Внедряю код функции которая должна запустится в новом потоке удаленного процесса. Все вроде норм. но у меня траблы с WriteProcessMemory. вот кусок кода си++: int main (void) {
C++ Клавиша помогите пожалуста разобраться с этим сабжом. мне надо сделать так: если нажата нужная клавиша не важно в каком окне, то нажать еще 2 клавиши и кликнуть левой кнопкой мыши. вот мой код: #include <iostream> #include <windows.h> подробнее

Показать сообщение отдельно
grizlik78
Эксперт С++
 Аватар для grizlik78
1887 / 1419 / 103
Регистрация: 29.05.2011
Сообщений: 2,967
28.07.2011, 09:37     Рекурсия в различных компиляторах
Цитата Сообщение от diagon Посмотреть сообщение
Видимо MSVC вычисляет все за раз =(
Нет, дело не в этом. Ведь мой "вариант 1" работает корректно?
Дело в операторе запятая
C++
1
2
3
int f(int n){
    return n ? f(n/2) + n % 2 * pow(2., k), ++k : 0;
}
Здесь возвращается не сумма, как того хочется, а увеличенное значение k.

Вариант:
C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
#include <cmath>
int n, k;
int f(int x){
    return x ? n = f(x/2) + x % 2 * pow(2., k), ++k, n : 0;
}
int main(){
        std::cin >> n;
        std::cout << f(n) << std::endl;
}
 
Текущее время: 12:19. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru