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

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

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

Посчитать сумму - C++

27.10.2012, 18:28. Просмотров 665. Ответов 9
Метки нет (Все метки)

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

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

Функция: посчитать сумму элементов динамического массива, перераспределить память и добавить сумму в конец - C++
функция считает сумму элементов массива, перераспределяет память и добавляет сумму в конец, при перераспределении памяти (realloc) возможно...

Нуэно посчитать сумму всех строк матрицы, у меня считает только сумму одной строки - C++
void task_1(int **A, int M, int N) { int i, j,sum=0,m=0,n=0; //1.) 1.) сумму элементов в тех строках, которые содержат хотя бы...

Дан двумерный массив.посчитать сумму элементов в кажой строке. найти максимальную и минимальную сумму и помень эти строки местами. - C++
Дан двумерный массив.посчитать сумму элементов в кажой строке. найти максимальную и минимальную сумму и помень эти строки местами. Я...

Посчитать сумму - C++
S=1+3+7+15... Вот моя программа: #include <iostream> int main() {int n, b=0, s=0,i; cin>>n

Посчитать сумму ряда - C++
Подскажите как решить данную сумму без каких либо функций: \sum_{i = 5}^{n}x^i Пытался что-то сделать, но не могу понять как...

9
OksanaKurb
0 / 0 / 1
Регистрация: 12.10.2012
Сообщений: 12
27.10.2012, 19:34  [ТС] #2
Я вот что сделала,но что-то вовсе неправильно считает((
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include<iostream>
using namespace std;
int main()
{int n;
float x,s=0,a=-x;
cout<<"x=";cin>>x;
cout<<"n=";cin>>n;
for(int i=0;i<=n;i++)
{       s+=a;
        a*=-x*x/(2*i*(2*i+1));
       
        
          cout<<s<<endl;}
cout<<"s="<<s<<endl;
system("pause");
return 0;}
0
IGPIGP
Комп_Оратор)
Эксперт по математике/физике
6503 / 3142 / 307
Регистрация: 04.12.2011
Сообщений: 8,673
Записей в блоге: 5
27.10.2012, 20:04 #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
#include <stdlib.h>
#include <Stdio.h>
#include <Math.h>
int fact(int a){
if(a==0||a==1)return 1;
return (a*fact(a-1));
}
int main(){
int n=0;
int nMax=100;
float x;
float sum=0;
printf_s("Vvedite kolichestvo slagaemih\n");
 scanf_s("%d",&n);
if(n>nMax||n<=0) n=nMax;
printf_s("\nVvedite x \n");
scanf_s("%f",&x);
int sign=1;
for(int i=0; i!=n; i++){
    sign=-sign;
sum+=sign* pow(x,2*i+1)/fact(2*i+1);
printf_s("%f",sum);
printf_s("\n");
}
printf_s("\nSumma ravna=\t");
printf_s("%f",sum);
printf_s("\nVvedite cifru");
int t;
scanf_s("%f",&t);
return 0;
}
0
isaak
103 / 40 / 9
Регистрация: 17.10.2010
Сообщений: 670
27.10.2012, 20:08 #4
C++
1
a*=-2*i*x/(2*i+1);
Так как
http://www.cyberforum.ru/cgi-bin/latex.cgi?{a}_{2n} = \frac{{x}^{2n}}{2n}
http://www.cyberforum.ru/cgi-bin/latex.cgi?{a}_{2n+1} = \frac{{x}^{2n+1}}{2n+1}
Отношение:
http://www.cyberforum.ru/cgi-bin/latex.cgi?\frac{{a}_{2n+1}}{{a}_{2n}}=\frac{2n}{2n+1}*x
1
Buildog
40 / 40 / 2
Регистрация: 29.04.2012
Сообщений: 185
27.10.2012, 20:18 #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
32
#include <iostream>
 
using namespace std;
 
int fact (int x)
{
    if (x<=1) 
    {
        return 1;
    }
    else return x*fact (x-1);
}
 
 
int main ()
{
    int k = 0;
    double SUMM = 0;
    double x = 0;
    cout << "Enter k=";
    cin >> k;
    cout << endl;
    cout << "Enter x=";
    cin >> x;
    for (int i = 0; i<=k; i++)
    {
        SUMM+=(pow(-1,i)*pow(x,2*i+1))/fact(2*i+1);
    }
    cout << SUMM;
    system ("pause");
    return 0;
}

Честно говоря, на правильность вычислений не проверял, но должен работать правильно
1
MrGrig
177 / 160 / 2
Регистрация: 08.10.2012
Сообщений: 422
27.10.2012, 20:36 #6
Цитата Сообщение от OksanaKurb Посмотреть сообщение
Я вот что сделала,но что-то вовсе неправильно считает((
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include<iostream>
using namespace std;
int main()
{int n;
float x,s=0,a=-x;
cout<<"x=";cin>>x;
cout<<"n=";cin>>n;
for(int i=0;i<=n;i++)
{ * * * s+=a;
* * * * a*=-x*x/(2*i*(2*i+1));
cout<<s<<endl;}
cout<<"s="<<s<<endl;
system("pause");
return 0;}
дело еще вот в этой строке
C++
1
float x,s=0,a=-x;
вы при инициализации а присваиваете пустоту потому что х ничего не присвоено =)
1
IGPIGP
Комп_Оратор)
Эксперт по математике/физике
6503 / 3142 / 307
Регистрация: 04.12.2011
Сообщений: 8,673
Записей в блоге: 5
27.10.2012, 21:26 #7
Не подумал, - удалил.

Добавлено через 44 минуты
Для рекуррентного подсчёта у меня получается:
http://www.cyberforum.ru/cgi-bin/latex.cgi?{a}_{n-1} = \frac{(-1)^n{x}^{2(n-1)+1}}{(2(n-1)+1)!}=\frac{(-1)^n{x}^{2n-1}}{(2n-1)!}
http://www.cyberforum.ru/cgi-bin/latex.cgi?{a}_{n} = \frac{(-1)^{n+1}{x}^{2n+1}}{(2n+1)!}
Отношение:
http://www.cyberforum.ru/cgi-bin/latex.cgi?\frac{{a}_{n}}{{a}_{n-1}}=-\frac{x^2}{2n(2n+1)}
то есть в цикле:
C++
1
sum+=-x*x*sum/(2*n*(2*n+1));
1
OksanaKurb
0 / 0 / 1
Регистрация: 12.10.2012
Сообщений: 12
27.10.2012, 21:38  [ТС] #8
IGPIGP да это и у меня также вышло!но не работает зараза всё равно,около 50 задач таких сделала все работают эта осталась только((
0
isaak
103 / 40 / 9
Регистрация: 17.10.2010
Сообщений: 670
27.10.2012, 22:57 #9
Цитата Сообщение от IGPIGP Посмотреть сообщение
Не подумал, - удалил.

Добавлено через 44 минуты
Для рекуррентного подсчёта у меня получается:
http://www.cyberforum.ru/cgi-bin/latex.cgi?{a}_{n-1} = \frac{(-1)^n{x}^{2(n-1)+1}}{(2(n-1)+1)!}=\frac{(-1)^n{x}^{2n-1}}{(2n-1)!}
http://www.cyberforum.ru/cgi-bin/latex.cgi?{a}_{n} = \frac{(-1)^{n+1}{x}^{2n+1}}{(2n+1)!}
Отношение:
http://www.cyberforum.ru/cgi-bin/latex.cgi?\frac{{a}_{n}}{{a}_{n-1}}=-\frac{x^2}{2n(2n+1)}
то есть в цикле:
C++
1
sum+=-x*x*sum/(2*n*(2*n+1));
Извиняюсь у меня ошибочка вышла IGPIGP ваше соотношение верно, OksanaKurb попробуйте при инициализации a=1.
C++
1
float x,s=0,a=1;
Добавлено через 41 минуту
Вот еще один код, вроде бы все правильно работает.
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
#include <cmath>
#include <iomanip>
#include <iostream>
using namespace std;
 
double Sum(double x, double eps)
{
    double sum = 0;
    for
    (
        double an = 1, n = 0; 
        eps < fabs(an); 
        an *= - x*x/(2*n*(n + 1))
    )
    {
        sum = sum + an;
        n   = n   + 1;
    }
    return sum;
}
 
 
 
int main()
{
    double xn, xk, dx, eps;
    cout<<"xn = ";cin>>xn; 
    cout<<"xk = ";cin>>xk; 
    cout<<"dx = ";cin>>dx;
    cout<<"eps= ";cin>>eps;
    cout<<setw(9)<<setfill(' ')<<"  x  |"
        <<setw(9)<<setfill(' ')<<"Sum  |";
        
    for(double x = xn; x <= xk; x += dx)
    {
         cout<<setprecision(4)<<setw(8)<<setfill(' ')<<x<<"|"
         <<setprecision(4)<<setw(8)<<setfill(' ')<<Sum(x,eps)<<"|";
    }
    system("pause");
    return 0;
}
Добавлено через 11 минут
Еще раз извиняюсь забыл 2-ку
C++
1
an *= - x*x/(2*n*(2*n + 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
34
35
36
37
38
39
40
41
#include <cmath>
#include <iomanip>
#include <iostream>
using namespace std;
 
double Sum(double x, double eps)
{
    double sum = 0;
    for
    (
        double an = 1, n = 0; 
        eps < fabs(an); 
        an *= - x*x/(2*n*(2*n + 1))
    )
    {
        sum = sum + an;
        n   = n   + 1;
    }
    return sum;
}
 
 
 
int main()
{
    double xn, xk, dx, eps;
    cout<<"xn = ";cin>>xn; 
    cout<<"xk = ";cin>>xk; 
    cout<<"dx = ";cin>>dx;
    cout<<"eps= ";cin>>eps;
    cout<<setw(9)<<setfill(' ')<<"  x  |"
        <<setw(9)<<setfill(' ')<<"Sum  |";
        
    for(double x = xn; x <= xk; x += dx)
    {
         cout<<setprecision(4)<<setw(8)<<setfill(' ')<<x<<"|"
       <<setprecision(4)<<setw(8)<<setfill(' ')<<Sum(x,eps)<<"|";
    }
    system("pause");
    return 0;
}
1
IGPIGP
Комп_Оратор)
Эксперт по математике/физике
6503 / 3142 / 307
Регистрация: 04.12.2011
Сообщений: 8,673
Записей в блоге: 5
27.10.2012, 23:38 #10
Цитата Сообщение от OksanaKurb Посмотреть сообщение
IGPIGP да это и у меня также вышло!но не работает зараза всё равно,около 50 задач таких сделала все работают эта осталась только((
OksanaKurb, очень забавно сходится этот ряд. Посмотрите может это подойдет:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include<iostream>
using namespace std;
int main()
{
    int n;
float x=0,s=0,a=0;
cout<<"x=";cin>>x;
cout<<"n=";cin>>n;
s=a=-x;
n++;
cout<<"S0= "<<s<<endl;
for(int i=1;i<n;i++)
{
    a*=-x*x/(2*i*(2*i+1));
cout<<"a("<<i<<")= "<<a<<endl;
    s+=a;
cout<<"s("<<i<<")= "<<s<<endl;
}
cout<<"s="<<s<<endl;
system("pause");
return 0;}
1
27.10.2012, 23:38
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.10.2012, 23:38
Привет! Вот еще темы с ответами:

Посчитать сумму ряда. - C++
Помогите оч умным девочкам решить задачи по с++))))) 1 дано вещественное число N посчитать сумму 1/0!+ 1/1!+1/2!+...+1/N! т.е число е...

Посчитать сумму Лейбница - C++
Помогите, пожалуйста Посчитать сумму Лейбница

Посчитать сумму ряда - C++
Привет! возникла сложность с задачами... В одной необходимо посчитать сумму ряда с точность до e равного 10 в степени -12 причем...

посчитать сумму элементов - C++
помогите пожалуйста, я плохо понимаю СИ и не могу решить задачу( Написать программу, которая считает 30 ∑ (ai-bi)^2 i=1 ...


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

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

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