Боюсь это не для моего уровня знаний
Дорогу осилит идущий 
Начианй с более простых задач. Наставь "алертов" чтобы видеть промежуточные результаты и значения всех переменных после каждого действия. Или используй возможности дебага dev-cpp:
http://www.cyberforum.ru/cpp-beginners/thread49951.html
http://forum.developing.ru/showthrea...0-%D0%B2-Dev-C
https://www.youtube.com/watch?v=kHFpzxMFB3E
http://www.youtube.com/watch?v=Jq1WTkOlk3w
http://cboard.cprogramming.com/cplus...cplusplus.html
http://eilat.sci.brooklyn.cuny.edu/c...HowToDebug.htm
Как связан обычный Си с фичами С++?
Как я понимаю, это не фичи, а методы отлова ошибок, а они примерно одинаковые. Если программа не работает как ожидается - это занчит что в ее коде ошибка(и).
Кстати, попробуй не только значения 1-10, а что-то побольше, например 99 - в результатах выводится что-то непонятное.