Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
TipaTipok
0 / 0 / 1
Регистрация: 28.11.2014
Сообщений: 38
1

Найти сумму n членов ряда

29.11.2014, 20:36. Просмотров 639. Ответов 18
Метки нет (Все метки)

Доброго времени суток, нужна помощь в написании программки:
Вот написал кусочек кода:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include<iostream>
#include<math.h>
using namespace std;
 
int main()
{
int n;
float x,summa;
cout << "Введите длину ряда!!\n";
cin >> n;
cout << "Введите x : \n";
cin >> x;
summa= 0;
for (int i = 1; i<=n; i++)
{
  .....
}
cout << "Сумма ряда = : " << summa << endl;
return 0; 
}
Как расписать саму формулу в коде!!!
Вот условие:
Рассчитать сумму n членов ряда:
0
Изображения
 
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.11.2014, 20:36
Ответы с готовыми решениями:

Подсчитать сумму членов ряда с точностью до 0.000001 и сумму первых 10 членов ряда
Добавлено через 10 часов 32 минуты Для ряда, члены которого вычисляются по...

Найти сумму 10 членов ряда
Найти сумму 10 членов ряда ...

Найти сумму N членов ряда 1/i
Данное целое число N ( &gt; 0). найти сумму 1 + 1/2 + 1/3 + ... + 1 / N (...

Найти сумму n членов ряда
Вычислить: y=-(1+x)^2+(1+x)^4/2-(1+x)^6/4+.... ; (N слагаемых). void...

Найти сумму 10 членов ряда
Найти сумму 10 членов ряда, в котором an=n!/n^sqrt(n)

18
JIeIIIa
951 / 571 / 135
Регистрация: 23.05.2012
Сообщений: 7,337
29.11.2014, 20:55 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
#include<iostream>
#include<math.h>
using namespace std;
int main()
{
   int n, f=1, d=1;
   float x,summa, c=1;
   
   cout << "Введите длину ряда!!\n";
   cin >> n;
   cout << "Введите x : \n";
   cin >> x;
   summa= 1;
   for (int i = 2; i<=n; i++)
   {
       c *= x*x;
       d *= 2;
       f *= i-1;
       summa += c/(d*f);
   } 
   cout << "Сумма ряда = : " << summa << endl;
   return 0; 
}
1
AnonymC
1179 / 464 / 86
Регистрация: 23.06.2009
Сообщений: 6,375
Завершенные тесты: 1
29.11.2014, 20:56 3
Прошу
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
// cyber.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include <iostream>
#include "windows.h"
 
using namespace std;
 
int factorial(int number);
 
int main()
{
    int k, number=1;
    double x=0;
    double result=1;
    double xsquare = 2, numsquare=1;
    cout<<"Enter x: "; cin>>x;
    cout<<"Enter k: "; cin>>k;
    for(int i=1; i<k;i++, xsquare+=2, numsquare++, number++)
        result+=pow(x,xsquare)/pow(2,numsquare)*factorial(number);  
 
    cout<<"Result is: "<<result<<endl;
    system("pause");
    return 0;
}
 
int factorial(int number)
{
    int result=1;
    if (number==1) return 1;
    if (number==0) return 0;
    for(int i=1;i<number;i++)
        result*=i;
    return result;
}
0
JIeIIIa
951 / 571 / 135
Регистрация: 23.05.2012
Сообщений: 7,337
29.11.2014, 21:01 4
^Tecktonik_KiLLeR, коль на то пошло, то 0! = 1
0
Tulosba
:)
Эксперт С++
4750 / 3244 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
29.11.2014, 21:03 5
C++
1
2
3
4
5
6
    double el = 1;
    for (int i = 0; i<n; i++)
    {
        summa += el;
        el *= (x*x)/(2*(i+1));
    }
0
AnonymC
1179 / 464 / 86
Регистрация: 23.06.2009
Сообщений: 6,375
Завершенные тесты: 1
29.11.2014, 21:04 6
Цитата Сообщение от JIeIIIa Посмотреть сообщение
f *= i-1;
это факториал?
0
zss
Модератор
Эксперт С++
7480 / 6849 / 4324
Регистрация: 18.12.2011
Сообщений: 18,117
Завершенные тесты: 1
29.11.2014, 21:04 7
^Tecktonik_KiLLeR,
1. Я не вижу, где используется windows.h
2. Обратите внимание, например, на второй пост и в дальнейшем не вычисляйте
такие значения в лоб, если можно воспользоваться рекуррентными соотношениями.
Советую посмотреть вот эту тему
Вычисление функций разложением в ряд Тейлора.
0
Tulosba
29.11.2014, 21:04
  #8

Не по теме:

^Tecktonik_KiLLeR, факториал и степень тут в принципе не нужны :)

0
AnonymC
1179 / 464 / 86
Регистрация: 23.06.2009
Сообщений: 6,375
Завершенные тесты: 1
29.11.2014, 21:04 9
Цитата Сообщение от JIeIIIa Посмотреть сообщение
0! = 1
разве 0*0=1?
0
JIeIIIa
951 / 571 / 135
Регистрация: 23.05.2012
Сообщений: 7,337
29.11.2014, 21:05 10
Цитата Сообщение от ^Tecktonik_KiLLeR Посмотреть сообщение
это факториал?
Он самый.
0
Tulosba
:)
Эксперт С++
4750 / 3244 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
29.11.2014, 21:06 11
JIeIIIa, упустили вариант для n = 0.

Добавлено через 44 секунды
Цитата Сообщение от ^Tecktonik_KiLLeR Посмотреть сообщение
разве 0*0=1?
0, умноженный на 0 будет 0. Но факториал нуля есть единица.
0
AnonymC
1179 / 464 / 86
Регистрация: 23.06.2009
Сообщений: 6,375
Завершенные тесты: 1
29.11.2014, 21:06 12
zss, ну если не ошибаюсь, считает правильно.
А про windows.h, у меня функция system() без него не работает
0
Kostяn
0 / 0 / 0
Регистрация: 06.02.2011
Сообщений: 8
29.11.2014, 21:10 13
должно работать, если где-то не накосячил))
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
#include<iostream>
#include<math.h>
using namespace std;
 
int main()
{
int n,k,z,f;
float x,summa;
cout << "Введите длину ряда!!\n";
cin >> n;
cout << "Введите x : \n";
cin >> x;
summa= 0;
k=1;
for (int i = 2; i<=n; i=i+2)
{
f=1;
for (int i2=1; i2<k+1; ++i2) 
        f*=i2;
z=pow(2,k)*f;
summa += pow(x,i)/z;
k++;
}
summa +=1;
cout << "Сумма ряда = : " << summa << endl;
return 0; 
}
0
zss
Модератор
Эксперт С++
7480 / 6849 / 4324
Регистрация: 18.12.2011
Сообщений: 18,117
Завершенные тесты: 1
29.11.2014, 21:11 14
Я не говорил, что не считает,
а о том, в частности, что считать 2*2 как pow(2,2)=exp(log(2.0)*2.0) некультурно.

А system определена в stdlib.h
1
JIeIIIa
951 / 571 / 135
Регистрация: 23.05.2012
Сообщений: 7,337
29.11.2014, 21:12 15
Цитата Сообщение от Tulosba Посмотреть сообщение
упустили вариант для n = 0
Да я в принципе считал, что для n<=0 сумма не определена. Но так как ТС никакой проверки на корректность не делал, то дописал только вычисления.
Хотя... если для n=0 сумма =1, то ничего не упустил)))
1
Tulosba
:)
Эксперт С++
4750 / 3244 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
29.11.2014, 21:14 16
Цитата Сообщение от JIeIIIa Посмотреть сообщение
если для n=0 сумма =1
Цитата Сообщение от TipaTipok Посмотреть сообщение
Рассчитать сумму n членов ряда:
Чему равна сумма из нуля слагаемых?
0
Kostяn
0 / 0 / 0
Регистрация: 06.02.2011
Сообщений: 8
29.11.2014, 21:23 17
ой, не заметил звездочку)

Добавлено через 6 минут
JIeIIIa, там наверно нужно c+=x*x, вместо c*=x*x
0
JIeIIIa
951 / 571 / 135
Регистрация: 23.05.2012
Сообщений: 7,337
29.11.2014, 21:31 18
Цитата Сообщение от Kostяn Посмотреть сообщение
нужно c+=x*x, вместо c*=x*x
Никакого += тут не надо. В с считается http://www.cyberforum.ru/cgi-bin/latex.cgi?x^2, http://www.cyberforum.ru/cgi-bin/latex.cgi?x^4 и т.д.
А Вы что предлагаете считать?
0
Kostяn
0 / 0 / 0
Регистрация: 06.02.2011
Сообщений: 8
29.11.2014, 21:36 19
и вправду не нужно( извиняюсь))
0
29.11.2014, 21:36
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.11.2014, 21:36

Найти сумму k членов ряда
Написание программы С++

Найти сумму 15 членов ряда
1.Вычислить z=summa(1.2*x, y-10).Вычислить оформить в виде функции. 2.Найти...

Найти сумму 45 членов ряда
Найти сумму 45 членов ряда: S=1+1/4+1/7+1/10... Программа: #include...


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

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

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