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

Принцип работы рекурсии - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Добавить в элементы список и вывести их на экран http://www.cyberforum.ru/cpp-beginners/thread656208.html
написала программу, которая добавляет в список элементы и должна их выводить на экран. функция, которая должна их выводить не работает. подскажите, в чем ошибка? #include <iostream> using namespace std; struct list { int data; list *next;
C++ auto Хочу сделать автомат. переменную auto int x; auto double f; Ругается. Как исправить? http://www.cyberforum.ru/cpp-beginners/thread656204.html
C++ Раздельная компиляция
Пусть есть программа, которая состоит из 2 файлов. 1 файл: основной, там где main 2 файл: содержит некоторые функции Также есть header. Я набираю текст программы в wordpad. Далее хочу скомпилировать оба файла, причём, так, чтобы в 1 можно было использовать функции из другого. Как это сделать? В командной строке пишу так: cl /EHsc file1.cpp file2.cpp
закрытие консоли C++
в чем допущена оплошность:требуется ввести размер матрицы,вводим допустим 5,происходит вывод на экран,далее следует выбор: удалить одну строку(выбираем 1) либо удалить несколько( выбираем 2).допустим вводим 1.Следует вопрос "какую строку удалить".вводим к примеру 3....происходит выполнение ,но за доли секунды консоль закрывается,хоть есть "торможение" и system("PAUSE") было и getc(stdin) и тд....
C++ unsigned char максимум и минимум цикл http://www.cyberforum.ru/cpp-beginners/thread656183.html
Тут небольшая непонятка - выводятся пустые символы, это и есть максимальное и минимальное значение типа unsigned char? #include <iostream> using namespace std; int main() { //переменная для типов данных unsigned char f;
C++ Исправить ошибки в программе "Hello, World" в общем первая программа после hello world на С++ , помогите исправить апшибки пжл п.с. что за тупая система не дает создать тему со словом помогите о_О подробнее

Показать сообщение отдельно
botasa
3 / 3 / 0
Регистрация: 18.01.2011
Сообщений: 131
22.09.2012, 23:54  [ТС]
спасибо, пошел читать, если что я сюда отпишу !

Добавлено через 2 часа 38 минут
Почитал я ваши посты, но так и не в курил.

я вот пробую разобраться на самом простом :

int f(int i)
{
if(i <= 1) return 1;
else return i * f(i - 1);
}
f(3);
то
i = 3;
i = 2;
i = 1;
и обратно.
но я так понимаю что при запуску i = 3, тогда потом f(i - 1), тогда i = 2 и т.д. потом обратно и начиная из с 1, оно начинает множить 1, потом на 2, потом на 3 и финал или как ??? или как то по другом ??? ну такой результат сверху мне показал debuger в

Добавлено через 2 минуты
Почитал я ваши посты, но так и не в курил.

я вот пробую разобраться на самом простом :

int f(int i)
{
if(i <= 1) return 1;
else return i * f(i - 1);
}
f(3);
то
i = 3;
i = 2;
i = 1;
и обратно.
но я так понимаю что при запуску i = 3, тогда потом f(i - 1), тогда i = 2 и т.д. потом обратно и начиная из с 1, оно начинает множить 1, потом на 2, потом на 3 и финал или как ??? или как то по другом ??? ну такой результат сверху мне показал debuger в IDE. Но если сделать 10 + i + f(i - 1) при f(3), тогда результат будет 46, то есть ЧИСЛО 10 будет 4 раза вызываться, а сама рекурсия показывает 3 вызова ...

Добавлено через 3 минуты
но если 10 * i + f(i - 1) при f(3) результат будет 600, уже 3 итерации ... при умножении и при додавание оно отличатся в 1 такт
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru