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

Бесконечный цикл -замена рекурсией - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ купюры http://www.cyberforum.ru/cpp-beginners/thread289862.html
помогите решить данную задачу на си , заранее благодарен Покупатель должен заплатить в кассу S рублей. у него имеются купюры достоинством 1,5,10,50,100 рублей. составить программу,вычисляющую сколько купюр разного достоинства отдаст покупатель если он начинает платить с самых больших купюр ввод из файла rub.in вывод из файла rub.out пример ввод 525 вывод 100-5 50-0 10-2
C++ Получить квадратную матрицу размерности N: Получить квадратную матрицу размерности N: http://www.cyberforum.ru/cpp-beginners/thread289849.html
Одномерный массив C++
В одномерном массиве, состоящий из N целых элементов, вычислить: - номер элемента массива, ближайшего к среднему арифметическому его значений; - сумма элементов массива, расположенных между первым отрицательным и вторым положительным элементами. Можна пользоваться STL.
C++ Вывести на экран 50 первых членов последовательности
Написать программу, которая выводит на экран 50 первых членов последовательности: 1, 100, 99, 2, 98, 97, 96, 3, 95, 94, 93, 92, Написал программу которая выводит массив из 50 элементов от 100 до 50, но не знаю как вставить в определённые места числа 1,2,3. Подскажите кто может. кидаю код который у меня написан. #include <iostream> #include <iomanip> using namespace std; int main() {...
C++ Написать консольный календарь http://www.cyberforum.ru/cpp-beginners/thread289837.html
С клавиатуры вводится текущая дата с указанием дня недели. Необходимо: а) написать программу, в которой (после ввода текущей даты и дня недели) с клавиатуры будут циклически вводиться другие даты без указания дня недели (признак окончания ввода – нулевой год) и выводиться на экран соответствующие этим датам названия дней недели (даты – с годами от нуля до плюс бесконечности); б) изменить...
C++ Узнать количество слов в тексте, которые начинаются с заданных букв Добрый день, я впервые у вас на форуме. Друг попросил найти решение двух задач по С++, у него у самого инета нету. Помогите люди добрые кто чем сможет )) вот задачки: Задача №1 Ввести произвольный текст и заданный подрядок с двух символов. Узнать количество слов в тексте, которые начинаются с заданных букв. Задача №2 Сформировать массив структур, который содержит номера телефонов подробнее

Показать сообщение отдельно
zinador
2 / 2 / 0
Регистрация: 15.11.2009
Сообщений: 100

Бесконечный цикл -замена рекурсией - C++

06.05.2011, 12:02. Просмотров 864. Ответов 2
Метки (Все метки)

Привет всем.

имеется код функции
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
float expr()
{
float resplus=factor();
for(;;)
{
char c=cin.get();
    switch(c)
    {
    case '+':
        resplus+=factor();
        break;
    case '-':
        resplus-=factor();
        break;
    default:
    cin.putback(c);
    return resplus;
    }
}
}
,а теперь вопрос как это заменить рекурсией,я сделал так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
float expr()
{
float resplus=factor();
char c=cin.get();
    switch(c)
    {
    case '+':
        resplus+=factor();
        return expr();
    case '-':
        resplus-=factor();
        return expr();
    default:
    cin.putback(c);
    return resplus;
    }
}
,а теперь вопрос на мой же ответ ,переменная resplus с рекурсией инициализируется снова и снова в отличии от первого варианта (с бесконечным циклом) ,помогите пожалуйста как сделать что бы и рекурсия была и переменная не инициализировалась заного,я уже все перепробовал и с помощью деректив и методом флага
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru