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

Подсчитать сумму членов ряда с точностью до 0.000001 - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ сколько подстрок в строке http://www.cyberforum.ru/cpp-beginners/thread99782.html
Помогите пожалуйста никак немогу понять как его делать ((( плизиккк Задание: Реализовать программу подсчета количества вхождений подстроки в текст Реалізувати програму підрахунку кількості...
C++ ds #include <stdio.h> #include <conio.h> http://www.cyberforum.ru/cpp-beginners/thread99780.html
C++ графический редактор
Опять вопрос: "как написать графический редактор на С++?" Опять, потому что похожие темы уже были, но не совсем. Пожалуйста подскажите где можно почитать подробно о том как работать с файлами BMP,...
C++ Нужно чтобы в матрице столбец менялся на столбец свободных членов
Нужно чтобы в матрице столбец менялся на столбец свободных членов автоматически с помощью массива.То есть надо сделать так,когда считаем первый определитель столбец массив менял на свободные...
C++ Литература по MDI приложениям http://www.cyberforum.ru/cpp-beginners/thread99763.html
Подскажите, пожалуйста, полезные сайты или книги где была бы описана технология создания MDI приложения
C++ Составить программу, вычисляющую сумму ряда Ужас... мозг сломан. Сил не осталось.. может кто-нибудь поможет? Составить программу, вычисляющую сумму ряда Программа должна вычислять сумму ряда для аргументов Х в диапазоне от начального... подробнее

Показать сообщение отдельно
Execotryx
1 / 1 / 0
Регистрация: 02.11.2009
Сообщений: 14

Подсчитать сумму членов ряда с точностью до 0.000001 - C++

27.02.2010, 23:09. Просмотров 1526. Ответов 2
Метки (Все метки)

Проверьте, пожалуйста, два кода для одного задания:

Задание: Для ряда, члены которого вычисляются по формуле, соответствующей Вашему индивидуальному заданию, подсчитать сумму членов ряда с точностью до 0.000001 и сумму первых 10 членов ряда. Если Вы считаете это необходимым, можете упростить или преобразовать выражение.

формула: (-1^n)*( ((n+1)^2)/((n+2)^2))

Код 1
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
#include <iostream.h>
#include <conio.h>
#include <math.h>
 
void main()
 
{
clrscr();
 
const float eps = 1e-6;                      // eps - the number, which determines the limit of precise
float a, b, c, sum, sum10;                   // variables for groupping of equialence and adding
for (int i; fabs(a) <= eps; i++)                 // this cycle will initiate the counting of all numbers,                                       //which are don`t exceed the "eps". 
    {
    c= pow ( (i+1), 2 );                    // division
    b= pow ( (i+2), 2 );                    // divider
    a= pow (-1,i) * ( 1-(c/b) );                            // equialence
    sum += a;                                               // adding to summ
    cout << i <<" iterations" << endl;          // the full amount of iterations
    }
for (int n = 0; n != 10; n++)                   // this cycle will initiate the counting of 10 numbers
    {
        c= pow ( (n+1), 2 );                // almost similiar to one above, but without checking on limit exceeding
        b= pow ( (n+2), 2 );
        a= pow (-1,n)*( 1-(c/b) );
        sum10 += a;
    }
 
cout<<"-------------------------------------------" << endl;
cout<< sum <<" - this is summ of "<<i<<" numbers" << endl;
cout<<"-------------------------------------------" << endl;
cout<< sum10 <<" - this is summ of "<<n<<" numbers" << endl;
getch();
}
Код 2
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
#include <conio.h>
#include <iostream.h>
#include <math.h>
int main(void)
 
{
 clrscr();
 
 long n;                            /* параметр ряда */
 double dbln;                       /* параметр ряда в форме с плавающей точкой */
 double sum=0;                      /* сумма членов ряда */
 double term;                       /* значение текущего члена */
 const double eps=0.000001;             /* предел точности */
 long k2=1;                         /* pow(2,n)*/
 short k1=1;                        /* pow(-1,n)*/
                        /* основной цикл; в модификациях вычисляются
                        следующие значения pow(2,n) и pow(-1,n)*/
   for (n=0; ; n++, k2*=2, k1=-k1)
   {
                        /* преобразование n в форму с плавающей точкой */
    // dbln=n;
                        /* вычисление очередного члена */
     term=pow(k1,n)*(1-(pow ((n+1),2))/(pow((n+2),2)));
                        /* проверка достижения предела точности */
     if (fabs(term)>=eps)
                        /* если не достигнут - накопление суммы */
    sum+=term;
                        /* если достигнут - выход из цикла */
     else break;
                        /* если 10 членов - вывод суммы */
     if (n==9)
    cout<<"‘Сумма 10 чисел* = \n"<<sum;
     }
                        /* конец основного цикла */
                        /* вывод окончательной суммы */
   cout<<"Полная сумма* "<<n<<" чисел"« = \n"<<sum;
  getch();
  return 0;
}
                            /* конец программы */
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.