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

Вычислить бесконечную сумму с заданной точностью - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 22, средняя оценка - 4.86
jenya5455
1 / 1 / 0
Регистрация: 07.11.2012
Сообщений: 53
18.03.2013, 20:30     Вычислить бесконечную сумму с заданной точностью #1
Вычислить бесконечную сумму с заданной точностью E(E>0) . Считать, что требуемая точность достигнута, если вычислена сумма нескольких первых слагаемых, и очередное слагаемое оказалось по модуле меньше, чем , E — это и все последующие слагаемые можно уже не учитывать. Вычислить по формуле

Посмотрите код:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <math.h>
 
using namespace std;
 
int main (){
    float E;
    int i,n;
    i=1;
   n=10;
    while (i<n){
          E=1/(i*(i+1));
          
          if (E<fabs(E)){
          cout <<"E = "<<E<<endl; break;       
                      } 
          i++;
          }
    system ("pause");
    return 0;
    }

и есть такой

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
#include <iostream>
#include <math.h>
#include <stdlib.h>
 
using namespace std;
 
int fabs (int e, int i, int s){
    e=rand()%100;
    
    while (e>fabs(s)){
          s+=e;
          i++;
          }
    cout << "MODUL Summi = "<<fabs(s)<<" Summa = "<<s<<endl;
    return 0;}
    
    int main (){
        int g;
        int i;
        int h;
        
        fabs(g,i,h);
        
        system ("pause");
        }
Изображения
 
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ViktorKozlov
133 / 125 / 2
Регистрация: 13.12.2012
Сообщений: 293
18.03.2013, 20:47     Вычислить бесконечную сумму с заданной точностью #2
Дак второй вариант вроде работает
jenya5455
1 / 1 / 0
Регистрация: 07.11.2012
Сообщений: 53
18.03.2013, 20:57  [ТС]     Вычислить бесконечную сумму с заданной точностью #3
Правельно? или нет)) работает
ViktorKozlov
133 / 125 / 2
Регистрация: 13.12.2012
Сообщений: 293
18.03.2013, 21:25     Вычислить бесконечную сумму с заданной точностью #4
Так проверь.. У меня только на fabs ругался, т.к. если ему int передать, то будет неоднозначный вызов. Но можно написать fabs((float)s), и будет работать. Только будет ли работать правильно, это уже вопрос реализации алгоритма
zss
Модератор
Эксперт С++
 Аватар для zss
5942 / 5547 / 1783
Регистрация: 18.12.2011
Сообщений: 14,164
Завершенные тесты: 1
18.03.2013, 21:49     Вычислить бесконечную сумму с заданной точностью #5
E=1/(i*(i+1));
при i>0 ВСЕГДА равно нулю, т.к. целое делится на целое,
то результат тоже целый
C++
1
2
3
4
5
6
7
8
9
10
11
12
double Mysum(double eps)
{
    double an,i,s;
    an=0.5;s=an;i=2.;
     while(an>eps)
     {
          an=1.0/i/(i+1.0);
          s+=an;
          i++;
      }
      return s;
}
jenya5455
1 / 1 / 0
Регистрация: 07.11.2012
Сообщений: 53
18.03.2013, 21:58  [ТС]     Вычислить бесконечную сумму с заданной точностью #6
а там так и должно получаться всё по 0.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 <math.h>
#include <stdlib.h>
 
using namespace std;
 
double Mysum(double eps)
{
    double an,i,s;
    an=0.5;
    s=an;
    i=2;
     while(an>eps)
     {
          an=1.0/i/(i+1.0);
          s+=an;
          i++;
      }
      cout <<"E = "<< an << "\nSUMMA fabs = "<<fabs(an)<<"\nSUMMA = "<<s<<endl;
      return s;
}
          
    int main (){
        double E;
        //int S;
        
        Mysum(E);
        
        system ("pause");
        return 0;
        }
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.03.2013, 08:34     Вычислить бесконечную сумму с заданной точностью
Еще ссылки по теме:

C++ Вычислить бесконечную сумму ряда с заданной точностью е(е>0)
Вычислить бесконечную сумму с заданной точностью C++

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

Или воспользуйтесь поиском по форуму:
zss
Модератор
Эксперт С++
 Аватар для zss
5942 / 5547 / 1783
Регистрация: 18.12.2011
Сообщений: 14,164
Завершенные тесты: 1
19.03.2013, 08:34     Вычислить бесконечную сумму с заданной точностью #7
C++
1
2
3
4
5
6
7
8
int main ()
{
        double E;
        cin>>E;
        cout<<Mysum(E);
        system ("pause");
        return 0;
        }
Yandex
Объявления
19.03.2013, 08:34     Вычислить бесконечную сумму с заданной точностью
Ответ Создать тему
Опции темы

Текущее время: 08:18. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru