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

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

Войти
Регистрация
Восстановить пароль
 
Vlad_
7 / 7 / 0
Регистрация: 07.09.2012
Сообщений: 178
#1

Вычислить произведение ряда - C++

16.09.2012, 15:25. Просмотров 545. Ответов 7
Метки нет (Все метки)

Доброго дня всем.
Написал код для задачи,но после всех просчётов программа выдает очень маленькое значение, которое является ложным, не могу сообразить что не так, что добавить или переделать нужно?

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 <iostream>
#include <Windows.h>
 
using namespace std;
 
int x[50] ;
int A[50] ;
int n, i ;
double sum;
 
int main() {
    
        SetConsoleCP(1251);
        SetConsoleOutputCP(1251);
 
        do 
        {
            cout <<"Введите n \n" ;
            cin >> n;
            for(int i=1; i<=n; i++)
            {
                cout << "Введите Х" << i <<endl;
                cin >> x[i];
            }
                for(i=3; i<=n; i++)
                {
                    A[i]=x[i-2]+2*x[i-1]+x[i];
                }
                for(i=3; i<n; i++)
                {
                    sum=1;
                    sum=sum+A[i];
                }
                cout <<"Результатом умножения будет " << sum;
                cin.get();
                cin.get();
        } while(true);
        return 0;
}
и ешё отдельный вопрос какой модификатор позволяет вычислить значение переменной с точностью до 10 в -6 степени
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.09.2012, 15:25
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вычислить произведение ряда (C++):

Вычислить произведение ряда - C++
Дано натуральне число n. Обчислити P=(1+1/1)(1+1/2)^2 ...(1+1/n)^n , не використовуючи бібліотечних функцій. Дано натуральное число n....

Вычислить произведение ряда - C++
Дано натуральное число n. Вычислить (1+1/1^2)*(1+1/2^2)…(1+1/n^2) #include &lt;iostream&gt; using namespace std; int main(int...

Вычислить произведение ряда - C++
Вычислить произведение ряда P=(1+3)*(5+7)*...*((2n-1)+(2n+1)) для введенного с клавиатуры n помогите, я в c++ новичок

Вычислить произведение ряда - C++
Квадратики это умножение (*) Пользуйтесь редактором формул внизу страницы P=\prod_{k=1}^{K}\frac{{(-1)}^{k}({k}^{2}+k+1)}{k!}

Вычислить произведение ряда - C++
Вычислить произведение ряда \prod_{i=1}^{infinity} (x-2*i), где x - некоторое заданное вещественное число больше нуля. Вычисления закончить...

Вычислить произведение ряда - C++
#include&lt;iostream.h&gt; int main() { int n, i; float z,p; cout&lt;&lt;&quot;vvedite n&quot;; cin&gt;&gt;n; for(i=2; i&gt;n;...

7
Jupiter
Каратель
Эксперт С++
6559 / 3980 / 227
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
16.09.2012, 15:29 #2
Цитата Сообщение от Vlad_ Посмотреть сообщение
for(i=3; i<=n; i++)
элементы массива нумеруются с нуля
0
Vlad_
7 / 7 / 0
Регистрация: 07.09.2012
Сообщений: 178
16.09.2012, 16:06  [ТС] #3
даже если пронумеровать с нуля или просто обнулить разници не будет+ в условии сказанно что n=3 минимум
0
IrineK
Заблокирован
16.09.2012, 16:26 #4
Присоединяюсь к замечанию Jupiter.

Кроме того: почему вы находите сумму, когда в условии задачи - произведение?
Или это тоже "без разници"?
0
matepuhko
20 / 20 / 6
Регистрация: 05.06.2011
Сообщений: 119
16.09.2012, 16:29 #5
C++
1
2
3
4
5
 for(i=3; i<n; i++)
                {
                    sum=1;
                    sum=sum+A[i];
                }
Первое - при каждом входе переменная sum = 1 ;
тоисть ответ будет последние A[i] + 1 ;
Второе sum может бить int, ну если чтоб на верняк то long int ;
Третье если :
C++
1
2
3
4
 for(i=3; i<=n; i++)
                {
                    A[i]=x[i-2]+2*x[i-1]+x[i];
                }
написать как
C++
1
2
3
4
5
 int sum = 0 ;
 for(i=3; i<=n; i++)
                {
                    sum *= x[i-2] + 2*x[i-1] + x[i];    //вместо сумы произведение поправил
                }
то должно работать как надо



Извените за кривой русский
1
Vlad_
7 / 7 / 0
Регистрация: 07.09.2012
Сообщений: 178
16.09.2012, 16:38  [ТС] #6
записать как
C++
1
2
3
4
5
 int sum = 0 ;
 for(i=3; i<=n; i++)
                {
                    sum +=x [i-2] + 2*x[i-1] + x[i];
                }
Вот это действительно так ,спасибо большое!

Добавлено через 1 минуту
ну ещё остался вопрос какой модификатор позволяет вычислить значение переменной с точностью до 10 в -6 степени ?
0
matepuhko
20 / 20 / 6
Регистрация: 05.06.2011
Сообщений: 119
16.09.2012, 16:48 #7
ток провтыкал исправить
int sum = 1 ;
0
Vlad_
7 / 7 / 0
Регистрация: 07.09.2012
Сообщений: 178
16.09.2012, 16:50  [ТС] #8
matepuhko, я поправил и так это не проблема, а то результатом был 0)
0
16.09.2012, 16:50
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.09.2012, 16:50
Привет! Вот еще темы с ответами:

Вычислить произведение ряда - C++
х ввести с клавиатуры,k определить из условия ak=b, где a и b относится к целым четным числам (a&lt;b) и вводится с...

Вычислить произведение ряда - C++
1*3*5*....*101

Вычислить произведение ряда - C++
Вычислить сумму S = R+R+...+R . R=1.01; R=o.75; R=0.25i + 2sinR - 0.35cosR . i=3,...,100. Массивом не пользоваться.

Вычислить произведение ряда - C++
вычислить и вывести на экран, x и k ввести с клавиатуры p=\prod_{i=1}^{k}\frac{sin(ix)}{2i-1}


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

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

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