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

Рекурсия: вычисление выражения - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Двумерный массив http://www.cyberforum.ru/cpp-beginners/thread580238.html
Программа должна по выбору пользователя осуществлять ввод исходной матрицы с клавиатуры или из файла. Для этого программа должна содержать две соответствующие функции, указатель на одну из которых...
C++ Численное решение уравнения Добрый день, имеется следующее уравнение: sin(t) = b*{e}^{v*t} b и v - константы, v > 0 Решаю его численно методом Ньютона, и в принципе, всё хорошо, 1 корень получаю, но мне нужен ещё один,... http://www.cyberforum.ru/cpp-beginners/thread580225.html
C++ Написать функцию, возвращающую количество гласных в произвольном слове
Написать функцию, возвращающую количество гласных в произвольном слове. С помощью нее, определить в тексте слово с максимальным количеством гласных.
Получить сумму тех чисел последовательности, которые нечётны и отрицательны C++
Даны целые числа а1,…,а50. Получить сумму тех чисел данной последовательности, которые нечётны и отрицательны.
C++ Составить программу для вычисления площади кольца по значениям внутреннего и внешнего радиусов http://www.cyberforum.ru/cpp-beginners/thread580191.html
1.Составить программу для вычисления площади кольца по значениям внутреннего и внешнего радиусов, используя функцию вычисления площади круга. 2. Даны три целых числа. Определить, сумма цифр...
C++ Написать программу, которая удаляет из введенной с клавиатуры строки конечные пробелы Пожалуйста помогите... Написать программу, которая удаляет из введенной с клавиатуры строки конечные пробелы. заранее спасибо подробнее

Показать сообщение отдельно
intnower
0 / 0 / 0
Регистрация: 12.01.2012
Сообщений: 68
21.05.2012, 17:33  [ТС]
Endiff Сделал, как Вы написали, у меня получается результат = 4 (при условии а<8.. если Я поставлю a<9, то будет результат =5).

Вот так вроде что-то более или менее близко к ожидаемому результату:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <iostream>
#include <windows.h>
#include <math.h>
using namespace std;
int s;
const int a=6;
const int b=2;
int sum=6;
 
int Q ( int a, int b, int sum )
    {
            sum+=(b*(a+1));
            ++a;
            ++b;
                if (a<8)
                    sum+= Q (a, b, sum );
/*получается, что если а<8,
то идем по ветке "да" и снова заходим в функцию..
и так будет до тех пор, пока условие (a<8) не будет выполнятся. 
Когда это произойдет, мы пойдем по ветке "нет" и выполнится return sum.*/
                return sum;
    }
        
int main ()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
s = Q (a, b, sum );
cout << "Сумма равна = " << '\t' << s << endl;
system("PAUSE");
}
В итоге получается 64.. а должно быть 44.. ):
если Я ставлю условие а<7, то ответ правильный, а вот если больше семи(например 8), получается 64 вместо 44-х..
помогите, пожалуйста!
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru