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

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

Восстановить пароль Регистрация
 
Vlad_
7 / 7 / 0
Регистрация: 07.09.2012
Сообщений: 174
16.09.2012, 15:25     Вычислить произведение ряда #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
#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 степени
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.09.2012, 15:25     Вычислить произведение ряда
Посмотрите здесь:

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

Кроме того: почему вы находите сумму, когда в условии задачи - произведение?
Или это тоже "без разници"?
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];    //вместо сумы произведение поправил
                }
то должно работать как надо



Извените за кривой русский
Vlad_
7 / 7 / 0
Регистрация: 07.09.2012
Сообщений: 174
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 степени ?
matepuhko
20 / 20 / 6
Регистрация: 05.06.2011
Сообщений: 119
16.09.2012, 16:48     Вычислить произведение ряда #7
ток провтыкал исправить
int sum = 1 ;
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.09.2012, 16:50     Вычислить произведение ряда
Еще ссылки по теме:

C++ Вычислить произведение ряда
C++ Найти произведение ряда
C++ Рекурсия. Найти произведение ряда

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

Или воспользуйтесь поиском по форуму:
Vlad_
7 / 7 / 0
Регистрация: 07.09.2012
Сообщений: 174
16.09.2012, 16:50  [ТС]     Вычислить произведение ряда #8
matepuhko, я поправил и так это не проблема, а то результатом был 0)
Yandex
Объявления
16.09.2012, 16:50     Вычислить произведение ряда
Ответ Создать тему
Опции темы

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