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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Перегрузить операции http://www.cyberforum.ru/cpp-beginners/thread263037.html
Здравствуйте! Есть уже готовая программа , но в ней нужно перегрузить операции + добавление элемента; - удаление элемента; индексирование; = копирование; = = отношение равенства; > отношение порядка; Пожалуйста, кто может - напишите. Очень нужно ! Вот сам код:
C++ Задание на С++ Добрый день. Помогите пожалуйста с решением задания для курсовой на Borland c++. Суть такова. Есть текстовый файл такими полями: Фамилия, год установки телефона, номер телефона, адреса. Задание написать программу на с++ чтоб: За фамилией что вводится, выводился номер телефона, За номером что вводится, выводилась фамилия и адрес. Вычислить количество установленных телефонов с XXXX года,... http://www.cyberforum.ru/cpp-beginners/thread263036.html
C++ Пусть дано 100 целых чисел... .
1) Пусть . Среди найти ближайшее к какому-либо целого. 2) Пусть дано 100 целых чисел. Напечатайте сначала все отрицательные из них, а потом все остальные. C++
C++ тестирующая программа на с
помогите,пожалуйста,очень срочно! нужно на С сложить и отладить программу тестирования знаний студентов с алгебры! заранее спасибо!
C++ вычисление погрешности - циклы. http://www.cyberforum.ru/cpp-beginners/thread263029.html
Задание во вложении. мой код приложен. не правильно работает ряд, точнее его накопление, на сколько я понимаю - поправте что ни так.. #include <cstdlib> #include <iostream> #include <cmath> #include <clocale> using namespace std; int main(int argc, char *argv) {
C++ Вывод массива без использования цикла на C(pure)) Какие есть мысли и/или готовые решения по сабжу ? подробнее

Показать сообщение отдельно
dubfire
1 / 1 / 0
Регистрация: 22.02.2011
Сообщений: 27
24.03.2011, 18:16  [ТС]     Рекурентная формула
Цитата Сообщение от 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;
        
}
 
Текущее время: 00:00. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru