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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
easyfrag
0 / 0 / 0
Регистрация: 17.03.2013
Сообщений: 111
#1

почему то при вводе числа не выдает сумму - C++

30.03.2013, 15:40. Просмотров 320. Ответов 8
Метки нет (Все метки)

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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
#include "stdafx.h"
#include "iostream"
#include "conio.h"
#include "math.h"
#include "locale.h"
#include <windows.h>
using namespace std;
double b(int k);
double a(int k);
double power(double a, int n);
double fact(int n);
double sum(int n);
 
int _tmain(int argc, _TCHAR* argv[])
{
    int p,h;
    double q,w;
    setlocale(LC_ALL, "Russian");
cout<<"введите n:"<<endl;
cin>>p;
    q=a(p);
    w=b(p);
    h=sum(p);
    cout<<h<<endl;
    _getch();
    return 0;
}
 
 
 
 
double a(int k)
{
    if (k == 1) {
        return 1;
    }
    else {
        return 3 * b(k - 1) + 2 * a(k - 1);
    }
}
 
double b(int k)
{
    if (k == 1) {
        return 1;
    }
    else {
        return 2 * a(k - 1) + b(k - 1);
    }
}
 
double power(double a, int n)
{
    if (n == 0) {
        return 1.0;
    }
    else {
        return a * pow(a, n - 1);
    }
}
 
double fact(int n)
{
    if (n == 1) {
        return 1;
    }
    else {
        return n * fact(n - 1);
    }
}
 
double sum(int n)
{
    int i=0;
    if (n == 0) {
        return 0.0;
    }
    else {
        return pow(2.0, i) / (fact(i) * (1 + pow(a(i), 2) + pow(b(i), 2))) + sum(i - 1);
    }
}

помогите найти ошибку задание по рекурсий

Добавлено через 58 секунд
если надо задание могу дать задание
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.03.2013, 15:40
Здравствуйте! Я подобрал для вас темы с ответами на вопрос почему то при вводе числа не выдает сумму (C++):

Почему при вводе числа программа работает нормально, а при вводе буквы уходит в бесконечный цикл? - C++
void mainmenu() { cout &lt;&lt; &quot;Введи число&quot; &lt;&lt; endl; cin &gt;&gt; choice; if (choice == 1) { cout &lt;&lt; &quot;Hello&quot; &lt;&lt; endl; } ...

Почему выдает ошибку при вводе? - C++
Вот моя программа. Она перестала работать после того как я добавил функцию (invers). Эта функция должна инвертировать второй список. ...

Почему при вводе в массив числа отличного от 1 и 2 все равно происходит начисление К+1 - C++
K=0; for (i=1;i&lt;=4;i++){ cout&lt;&lt;&quot;Vvedite otvet:&quot;; cin&gt;&gt;one; if ((one=1)||(one=2)) K=K+1; }

Функция, которая при вводе натурального числа выводит количество цифр в нем и их сумму - C++
Написать и протестировать функцию которая при вводе натурального числа выводит количество цифр в нем и их сумму. Пример : натуральное...

надо изменить его так чтобы он находил сумму любых введёных чисел и при вводе числа 0 программа завершалась - C++
есть программный код,надо изменить его так чтобы он находил сумму любых введёных чисел и при вводе числа 0 программа завершалась ...

При вводе даты рождения и номера телефона в структуру выдает неверные данные - C++
#pragma hdrstop #pragma argsused #include &lt;tchar.h&gt; #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;iostream.h&gt; #include...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
dstat
36 / 38 / 1
Регистрация: 01.06.2011
Сообщений: 238
30.03.2013, 15:46 #2
C++
1
2
3
4
5
6
7
8
9
double fact(int n)
{
    if (n == 1||n==0) {
        return 1;
    }
    else {
        return n * fact(n - 1);
    }
}
0
easyfrag
0 / 0 / 0
Регистрация: 17.03.2013
Сообщений: 111
30.03.2013, 16:04  [ТС] #3
щас вообще почему то пишет ошибку в строке 26 преобразование "double" в "int", возможна потеря данных

Добавлено через 2 минуты
и вообще щас почему то ввожу число 1 то прога виснет и вылетает

Добавлено через 8 минут
че за фигня
помогите
0
dstat
36 / 38 / 1
Регистрация: 01.06.2011
Сообщений: 238
30.03.2013, 16:09 #4
C++
1
2
3
4
5
6
7
8
9
10
double sum(int n)
{
    int i=0;
    if (n <= 0) {
        return 0.0;
    }
    else {
        return pow(2.0, i) / (fact(i) * (1 + pow(a(i), 2) + pow(b(i), 2))) + sum(i - 1);
    }
}
0
easyfrag
0 / 0 / 0
Регистрация: 17.03.2013
Сообщений: 111
30.03.2013, 16:11  [ТС] #5
а почему выдает все равно преобразование "double" в "int", возможна потеря данных
0
dstat
36 / 38 / 1
Регистрация: 01.06.2011
Сообщений: 238
30.03.2013, 16:14 #6
в main сделайте не
C++
1
 int p,h;
а
C++
1
2
int p;
double h;
0
easyfrag
0 / 0 / 0
Регистрация: 17.03.2013
Сообщений: 111
30.03.2013, 16:20  [ТС] #7
вот ттут у меня было задание

Добавлено через 36 секунд
Рекурсия. Вычислить значение суммы

Добавлено через 1 минуту
вот я ввел 1 в проге он пишет к при значений -4620 и ошибка
0
dstat
36 / 38 / 1
Регистрация: 01.06.2011
Сообщений: 238
30.03.2013, 16:20 #8
и чего?
0
easyfrag
0 / 0 / 0
Регистрация: 17.03.2013
Сообщений: 111
30.03.2013, 16:21  [ТС] #9
дак как от нее избавится
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.03.2013, 16:21
Привет! Вот еще темы с ответами:

Почему при вводе данных вылетает ошибка - C++
вот написал программу #include &lt;iostream&gt; using namespace std; #define N 2 struct Spis { char KODp; char Fm; char TARIF; ...

Почему при вводе чисел в ответе выводит #INF - C++
где ошибка почему при вводе чисел в ответе выводит #INF #include &lt;iostream&gt; #include &lt;math.h&gt; #include &lt;windows.h&gt; using...

Почему rand() выдает не те числа, которые я ожидаю - C++
#include &lt;stdio.h&gt; #include &lt;string.h&gt; #include &lt;cstdlib&gt; #include &lt;iostream&gt; #include &lt;ctype.h&gt; #include &lt;ctime&gt; int main() ...

Почему при вводе массива из символов воспринимается только первое слово? - C++
Вот примерный код: char article; int main() { cin &gt;&gt; char; cout &lt;&lt; char; system(&quot;Pause&quot;) ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
30.03.2013, 16:21
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru