С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

Вычислить с точностью до Е - C++

10.01.2013, 10:19. Просмотров 808. Ответов 6
Метки нет (Все метки)

Вычислить с точностью до Е (разность между найденным и предыдущим значением) меньше Е.
1) y=cos(1+cos(2+...+cos(39+cos(40) )))
2) y=sqrt(1+sqrt(1+sqrt(1+...)))

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

Вычислить по формуле. ВЫчислить с заданной точностью - C++
http://i22.***********/big/2011/0607/04/8a2c677b4bf24ec8e8fb7be0ee571804.jpg задание 6-7

Вычислить с заданной точностью - C++
Помогите написать программу, плз, я закинул в текстовый файл:

Вычислить с заданной точностью - C++
http://i22.***********/big/2011/0601/8d/84cf869eff0c96b2050336fb680d608d.jpg

Вычислить с точностью e=0.0001 - C++
Помогите разобраться с первой суммой и факториалом...

Вычислить с заданной точностью - C++
http://i22.***********/big/2011/0607/95/02db2277e85b5a1d8e82919de7293995.jpg

Вычислить с заданной точностью - C++
Все добрый день! Помогите пожалуйста, заранее благодарен http://s17.postimage.org/hv598r9ob/image.jpg

6
-=ЮрА=-
Заблокирован
Автор FAQ
10.01.2013, 10:54 #2
Wit, без рекурсии в этом задании не обойтись. Вот код для косинуса, корень по аналогии
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
#include <cmath>
#include <iostream>
using namespace std;
 
double DEG = asin(1.0)/180;
 
double RekursCos(int n)
{
    double res = 1 + cos(n*DEG);
    if(n - 1)
        res += cos(1 + RekursCos(n - 1));
    return res;
}
 
int main()
{
    double e;
    double dif;
    cout<<"Enter acuracy E : ";cin>>e;
    int n = 1;
    double previos = 0;
    double current = 0;
    do
    {
        system("cls");
        previos = RekursCos(n);
        current = RekursCos(n + 1);
        cout<<"E : "<<e<<endl;
        cout<<"iteration : "<<(n = n + 1)<<endl;
        cout<<"diference : "<<(dif = fabs(previos - current))<<endl;
    }
    while(e < dif);
    return 0;
}
Также обращу внимание на то что градусы следует переводить в радианы, иначе будем висеть в итерациях вечно ибо 1,2,3 ... N в радианных мерах будут давать знакомпеременный ряд
1
Миниатюры
Вычислить с точностью до Е  
Wit
0 / 0 / 0
Регистрация: 10.01.2013
Сообщений: 3
10.01.2013, 10:56  [ТС] #3
Спасибо)
0
v.a.l.i.d
10.01.2013, 11:42
  #4

Не по теме:

Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
без рекурсии в этом задании не обойтись.
-=ЮрА=-, а через цикл никак не получится?

0
-=ЮрА=-
10.01.2013, 12:01
  #5

Не по теме:

Цитата Сообщение от v.a.l.i.d Посмотреть сообщение
=ЮрА=-, а через цикл никак не получится?
- да можно, но рекурсия изящней

1
-=ЮрА=-
Заблокирован
Автор FAQ
10.01.2013, 12:24 #6
Wit, странно но для корня ряд расходится С самим заданием точно всё норм?
Решил сделать с циклом
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
#include <cmath>
#include <iostream>
using namespace std;
 
double RekursSqrt(int n)
{
    double res = 0;
    do
    {
        res += sqrt(1 + res);
    }
    while(0 < (n = n - 1));
    return res;
}
 
int main()
{
    double e;
    double dif;
    cout<<"Enter acuracy E : ";cin>>e;
    int n = 1;
    double current = RekursSqrt(n + 1);
    double previos = RekursSqrt(    n);
    do
    {
        system("cls");
        dif = fabs(previos - current);
        cout<<"E : "<<e<<endl;
        cout<<"iteration : "<<n<<endl;
        cout<<"previos   : "<<previos<<endl;
        cout<<"current   : "<<current<<endl;
        cout<<"diference : "<<dif<<endl;
        n = n + 1;
        current = RekursSqrt(n + 1);
        previos = RekursSqrt(    n);
    }
    while(e < dif);
    return 0;
}
0
Миниатюры
Вычислить с точностью до Е  
Wit
0 / 0 / 0
Регистрация: 10.01.2013
Сообщений: 3
10.01.2013, 12:37  [ТС] #7
Да. Нормально.
0
10.01.2013, 12:37
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.01.2013, 12:37
Привет! Вот еще темы с ответами:

Вычислить интеграл с точностью - C++
И так требуемая задача во вложениях. Вычисляем методом прямоугольников. Вот что я знаю решению: Запрашиваем ввод эпсилон. Запрашиваем...

Вычислить с точностью eps>0 - C++
Вычислить с точностью eps&gt;0: y=x-x^3 /3 + x^5/5 - ...+ (-1)^n * x^(2n+1) / (2n+1) ... при abs(x)&lt;1. Проверка: y=arctg(x)

Вычислить сумму ряда с точностью Е - C++
Вычислить сумму ряда с точностью Е, общий член которого {a}_{n}\: =\: \frac{1}{{2}^{n}}\: +\: \frac{1}{{3}^{n}}

Вычислить сумму ряда с точностью - C++
Дано действительное число х (0&lt;x&lt;=1). Вычислить сумму ряда с точностью e=10-6 и указать количество слагаемых. Считать, что требуемая...


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

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

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