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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ купюры http://www.cyberforum.ru/cpp-beginners/thread289862.html
помогите решить данную задачу на си , заранее благодарен Покупатель должен заплатить в кассу S рублей. у него имеются купюры достоинством 1,5,10,50,100 рублей. составить программу,вычисляющую...
C++ Получить квадратную матрицу размерности N: Получить квадратную матрицу размерности N: http://www.cyberforum.ru/cpp-beginners/thread289849.html
Одномерный массив C++
В одномерном массиве, состоящий из N целых элементов, вычислить: - номер элемента массива, ближайшего к среднему арифметическому его значений; - сумма элементов массива, расположенных между первым...
C++ Вывести на экран 50 первых членов последовательности
Написать программу, которая выводит на экран 50 первых членов последовательности: 1, 100, 99, 2, 98, 97, 96, 3, 95, 94, 93, 92, Написал программу которая выводит массив из 50 элементов от 100 до...
C++ Написать консольный календарь http://www.cyberforum.ru/cpp-beginners/thread289837.html
С клавиатуры вводится текущая дата с указанием дня недели. Необходимо: а) написать программу, в которой (после ввода текущей даты и дня недели) с клавиатуры будут циклически вводиться другие даты...
C++ Узнать количество слов в тексте, которые начинаются с заданных букв Добрый день, я впервые у вас на форуме. Друг попросил найти решение двух задач по С++, у него у самого инета нету. Помогите люди добрые кто чем сможет )) вот задачки: Задача №1 Ввести... подробнее

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

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

06.05.2011, 12:02. Просмотров 875. Ответов 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 с рекурсией инициализируется снова и снова в отличии от первого варианта (с бесконечным циклом) ,помогите пожалуйста как сделать что бы и рекурсия была и переменная не инициализировалась заного,я уже все перепробовал и с помощью деректив и методом флага
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru