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

Рекурсия, факториал - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Рисование в C++ Windows Forms http://www.cyberforum.ru/cpp-beginners/thread646237.html
Всем здравствуйте такое задание нужно нарисовать с помощью треуголиников, квадратов, прямоугольников и кругов что то на подобие животного цветного с глазами ну в общем все как положено))) (Кошка собака слон свинья без разницы) Помогите ПЛЗ) Чем больше рисунков тем лучше большое спасибо надеюсь вы в серьез отнисетесь к данной просьбе. Заранее спасибо всем
C++ unresolved external symbol в glm.h сидят структуры вида struct Vector2D; struct Vector3D; struct Vector4D; struct Matrix2D; struct Matrix3D; struct Matrix4D; ... http://www.cyberforum.ru/cpp-beginners/thread646204.html
C++ Напечатать все пары дружественных чисел
Помогите пожалуйста решить рационально задачу: Два натуральных числа называются дружественными, если каждое из них равно сумме всех делителей другого, за исключением самого себя (таковы, например, числа 220 и 284). Напечатать все пары дружественных чисел, не превосходящих заданного натурального числа. Мой вариант работает правильно, но очень медленно, т. к. слишком много итераций....
Cannot convert 'const wchar_t *' to 'const char *' C++
HMODULE hMod=GetModuleHandle(NULL); if(!hMod) { } HRSRC hRes=FindResource(hMod,"acc.dll",RT_RCDATA); if(!hRes){ } HGLOBAL hGlob=LoadResource(hMod,hRes); if(!hGlob) { } BYTE *lpbArray=(BYTE*)LockResource(hGlob);
C++ Настройка Geany на Windows (не пашет) http://www.cyberforum.ru/cpp-beginners/thread646157.html
Помогите!!! Может кто встречался с такой проблемой. В общем только Geany установил, воткнул туда код с книжки (перед этим поменял кодировку на Русская и тип файла C++ #include <iostream.h> int main() { count<<"Hello World!\n"; return 0: } Выдает такое сообщение командная строка
C++ Недопонимание указателей Уже прошёл их по книжке давно, но они частенько встречаются, и я никак не могу понять некоторые процессы с ними. Допустим есть в классе какие-то данные типа int lim, char name Методы принимают указатели допустим Name::Name (const char * nm) почему при копировании std::strncpy (name, nm, lim-1) мы указываем просто nm, а не *nm ? Ведь nm - это адрес, а само значение это *nm. Т.е по сути в name... подробнее

Показать сообщение отдельно
Day
 Аватар для Day
1149 / 954 / 57
Регистрация: 29.10.2009
Сообщений: 1,384
05.09.2012, 01:02     Рекурсия, факториал
Цитата Сообщение от Invader_Zim Посмотреть сообщение
и самое банальное вешающее систему:

Код C++
Тут вы совершенно правы. Рекурсия - чрезвычайно изящная, но и столь же опасная штука. Я прекрасно понимаю стремление преподавателей обьяснить ее на несколько экзотичном факториале. Но сам, конечно, никогда в жизни вещи, которые можно вычислить иттерационно, не стану делать рекурсивно. Рекурсия использует стек, чье поведение слабо контролируется, и который жрет самое дорогое - память (причем, бесконтрольно). Ну что произойдет, если я иттерационной функции fact дам на вход слишком большое число? Ну, будет неверный результат (такой же будет и у рекурсивной, если она сумеет доработать). А рекурсивная fact просто вылетит с трудно понимаемыми сообщениями.
Кстати, Д.Кнут в своей попытке энциклопедии явно рекурсивные алгоритмы реализовывал БЕЗ рекурсии! Правда, ему пришлось вводить такие массивы, как Stek1, StekOut и т.п...

Добавлено через 12 минут
Не думаю, что Д.Кнут не знал о рекурсии. Конечно, прекрасно знал! Но он рассматривал свою энциклопедию, как Учебник, и не хотел учить ОПАСНОМУ.
А вот чего он, кажется, не знал, так это СТРУКТУР (ничего не говоря уже о классах), поэтому его великолепные алгоритмы выглядят весьма неуклюже.
 
Текущее время: 14:45. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru