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

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

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

Рекурентная формула - C++

24.03.2011, 01:15. Просмотров 570. Ответов 5
Метки нет (Все метки)

Рекурентная формула
Народ подскажите как решить, я только недавно начал сишку нешарю..., если можно то с коментами к каким-то служным записям) просто препод каждую строчку спрашивает((,зарание спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.03.2011, 01:15
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Рекурентная формула (C++):

Рекурентная формула и прочее - C++
Добрый день , пишу вам для получения помощи! Никак не могу сделать рекурентную формулу и программу под выражением "б"Помогите...

Рекурентная формула cos(-х) - C++
Помогите пожалуйста, получилось только через pow, а найти рекурентную формулу не могу

Рекурентная формула и программа - C++
Вывести рекуррентную формулу и написать программу вычисления ряда. Исходные данные: действительное – х, натуральное – n. ...

Сумма ряда/рекурентная формула - C++
#include<stdio.h> #include<math.h> int main(void) { int n; float x,f,s=0; do{ printf("x="); scanf("%f",&x); ...

Рекурентная функция - C++
Доброго всем времени суток! Буду весьма признателен, если кто поможет мне разобраться со следующей задачей: "Реализовать функции, считающие...

Формула! - C++
Помогите написать формулу , не пойму как , просто новичек =) w=|cosx-cosy|^(1+2sin^2y)(1+z+z^2/2+z^3/3+z^4/3) моя запись этой...

5
dubfire
1 / 1 / 0
Регистрация: 22.02.2011
Сообщений: 27
24.03.2011, 16:23  [ТС] #2
Народ пилз, помогите кто сделать((
0
Deviaphan
Делаю внезапно и красиво
Эксперт С++
1305 / 1220 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
24.03.2011, 18:09 #3
Не вдаваясь в подробности, количество итераций неизвестно.)
Цикл должен выполняться, пока решение не сойдётся.
Т.е., чем меньше погрешность, тем больше будет итераций.
0
dubfire
1 / 1 / 0
Регистрация: 22.02.2011
Сообщений: 27
24.03.2011, 18:16  [ТС] #4
Цитата Сообщение от Deviaphan Посмотреть сообщение
Не вдаваясь в подробности, количество итераций неизвестно.)
Цикл должен выполняться, пока решение не сойдётся.
Т.е., чем меньше погрешность, тем больше будет итераций.
не знаю, не знаю, вот мне кидали решение, но я т.к. недавно начал сишку не разобрался сильно(,
может кто подскажет что выполняется в double foo и в double foo2, и для чего они, прост преподу не обьяню, как она работает)
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
#include "conio.h"
#include "stdafx.h"
#include "iostream"
using namespace std;
 
double foo(double x0, double a, int p, double e, int &count);
double foo2(double a, int b);
 
int main ()
{
        int count = 0;
        double a = 0.;
        double x0 = 0.;
        int p = 0;
        double e = 0.;
 
        cout << "Enter a = ";
        cin >> a;
        cout << "Enter p = ";
        cin >> p;
        cout << "Enter e = ";
        cin >> e;
        
        if (a != 0. && p > 0) {
                if (a < 0 && (p % 2 == 0)) {
                        cout << "Uncorrect data" << endl;
                } else {
                        x0 = a; 
                        double t = foo(x0, a, p, e, count);
                        cout << "Result = " << t << endl;
                        cout << "Count of iterations = " << count << endl;
                }
        } else {
                cout << "Uncorrect data";
        }
    system("pause");     
}
 
double foo(double x0, double a, int p, double e, int &count) {
        
 
        double x = 0;
        double xp = 0;
        xp = foo2(x0, p - 1);
        x  = 1. / p * ((p - 1) * x0 + a /xp);
        ++count; 
        if ((a > 0 ? (x0 - x) : (x - x0) )<= e) {
                return x;
        } else {
                return foo(x, a, p, e, count);
        }
}
double foo2(double a, int b){
        double res = 1.;
        if (a == 0) {
                res = 0;
        } else {
                res = 1.;
                int t = 0;
                b > 0 ? t = b : t = -b;
                for (size_t i = 0; i < t; ++i) {
                        res *= a;
                }
                if (b < 0) res = 1 / res;
        }
 
 
        return res;
        
}
0
Deviaphan
Делаю внезапно и красиво
Эксперт С++
1305 / 1220 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
24.03.2011, 18:19 #5
Решение будет найдено, когда невязка будет меньше или равна заданному погрешности (е). Когда это будет - неизвестно. Вместо цикла - рекурсия. Т.к. количество циклов неизвестно, то, возможно, зря рекурсия.
0
dubfire
1 / 1 / 0
Регистрация: 22.02.2011
Сообщений: 27
24.03.2011, 23:20  [ТС] #6
Цитата Сообщение от Deviaphan Посмотреть сообщение
Решение будет найдено, когда невязка будет меньше или равна заданному погрешности (е). Когда это будет - неизвестно. Вместо цикла - рекурсия. Т.к. количество циклов неизвестно, то, возможно, зря рекурсия.
ну задание, с универа, т.е. решение в ней есть,а как решить хз, ПОДСКАЖИТЕ КТО ПЛИЗ((
0
24.03.2011, 23:20
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.03.2011, 23:20
Привет! Вот еще темы с ответами:

Формула С++ - C++
С++

Формула - C++
как будет на языке си вот эта формула? аn=n!/(n+2)(n+1)

формула на c++ - C++
Помогите перевести формулу.

Формула - C++
Добрый день. Как на языке С++ будет выглядеть следующая формула?


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

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