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

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

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

Вычислить сумму последовательности из N элементов - C++

23.01.2014, 00:22. Просмотров 873. Ответов 24
Метки нет (Все метки)

Вычислить сумму последовательности из N элементов
условие на картинке
Дано натуральное n, действительные a1, a2,...,an
С помощью рекурсивной функции вычислить сумму

a1 * a2 + a2 * a3 + a3 * a4 + ... + an - 1 * an

спасибо
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.01.2014, 00:22     Вычислить сумму последовательности из N элементов
Посмотрите здесь:

Вычислить среднее арифметическое, сумму элементов и количество элементов заданной последовательности - C++
Ваести значения для Х. Значения Х>0 , поэтому для окончания вычисления ввести число 0. Вычислить сумму всех значении Х и количество Х....

Вычислить сумму последовательности - C++
Составьте программу вычисления значения выражения для данного натурального числа N: 1³ + 2³ + 3³ + … + N³.

Вычислить сумму последовательности - C++
Даны действительные числа а1, а2 , .Известно, что а1 > 0 и что среди а2, а3 , .есть хотя бы одно отрицательное число . Пусть a1 , .an -...

Вычислить сумму последовательности - C++
S= sinX + sinX2(квадрат) + SinX3(куб) + sinX4(в четвертой степени) + … + sinXn(н-ая степень)

Вычислить сумму последовательности - C++
Даны действительные числа а1, а2 , .Известно, что а1 > 0 и что среди а2, а3 , .есть хотя бы одно отрицательное число . Пусть a1 , .an -...

За счёт адресной арифметики посчитать сумму элементов последовательности из 15 элементов символьного типа - C++
Привет всем,помогите,пожалуйста :) За счёт адресной аремфметики посчитать сумму элементов последовательности из 15 элементов символичного...

Вычислить сумму степеней в последовательности чисел - C++
Помогите решить пожалуйста: Вводятся натуральные числа m, n и целые числа a1...an.Вычислить b1+...+bm, где: b1=a1+a2+...+an ; ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Alex566
240 / 152 / 18
Регистрация: 03.04.2013
Сообщений: 317
23.01.2014, 01:15     Вычислить сумму последовательности из N элементов #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
#include <iostream>
using namespace std;
 
int msum(int n,int *arr)
{
    return (n>=2)?arr[n-1]*arr[n-2]+msum(n-2,arr):0;
}
 
int main()
{
    int n,*arr;
    cout << "Input n - ";
    cin >> n;
    arr = new int[n];
    for (int i = 0; i < n; i++)
    {
        cout << "Input " << i + 1 << "-th number - ";
        cin >> arr[i];
    }
    cout << "Msum = " << msum(n, arr) << endl;
    delete[] arr;
    system("pause");
    return 0;
}
Iren1
0 / 0 / 0
Регистрация: 20.01.2014
Сообщений: 91
23.01.2014, 01:41  [ТС]     Вычислить сумму последовательности из N элементов #3
может я блондинка.. но она не так немного работает((
например..
мы вводим число н=3
и наши елементы вводим 1,2,3

тогда сумму оно должно считать 1*2+2*3 и это равно 8..а оно выдает 6((

и еще такой вопрос. а почему н>=2?? оно и 1 может быть равно..тогда сумма будет равна данному числу.. или я ошибаюсь?
Ev_Hyper
Заблокирован
23.01.2014, 01:49     Вычислить сумму последовательности из N элементов #4
Iren1, если программа не так работает, это не означает, что вы блондинка. В следующий раз не делайте поспешных выводов, а попробуйте разобраться почему результат не такой.

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>
using namespace std;
 
int msum(int n,int *arr)
{
    
    return (n>=2)?arr[n-1]*arr[n-2]+msum(n-1,arr):0;
}
 
int main()
{
    int n,*arr;
    cout << "Input n - ";
    cin >> n;
    arr = new int[n];
    for (int i = 0; i < n; i++)
    {
        cout << "Input " << i + 1 << "-th number - ";
        cin >> arr[i];
    }
    if(n==1){cout << "Msum = " << arr[0] << endl;}
    else
    cout << "Msum = " << msum(n, arr) << endl;
    delete[] arr;
    system("pause");
    return 0;
}
Iren1
0 / 0 / 0
Регистрация: 20.01.2014
Сообщений: 91
23.01.2014, 01:51  [ТС]     Вычислить сумму последовательности из N элементов #5
Цитата Сообщение от Ev_Hyper Посмотреть сообщение
Iren1, В следующий раз не делайте поспешных выводов, а попробуйте разобраться почему результат не такой.
хорошо) а почему н>=2?? оно и 1 может быть равно..тогда сумма будет равна данному числу.. или я ошибаюсь?
Ev_Hyper
Заблокирован
23.01.2014, 01:56     Вычислить сумму последовательности из N элементов #6
Iren1, может быть и 1 равно, но в таком случае здесь

C++
1
return (n>=2)?arr[n-1]*arr[n-2]+msum(n-1,arr):0;
первое условие:
C++
1
arr[n-1]*arr[n-2]+msum(n-1,arr)
выведет за границу массива: 1-2 = -1
поэтому ставиться условие >=2.

Значит надо либо делать проверку до первого вызова функции, или перестраивать её по-другому.
Iren1
0 / 0 / 0
Регистрация: 20.01.2014
Сообщений: 91
23.01.2014, 01:57  [ТС]     Вычислить сумму последовательности из N элементов #7
сорри. запустила. кажись поняла))

Добавлено через 44 секунды
спасибо
Ev_Hyper
Заблокирован
23.01.2014, 01:59     Вычислить сумму последовательности из N элементов #8
Цитата Сообщение от Iren1 Посмотреть сообщение
сорри. запустила. кажись поняла))
это же форум, тут и надо спрашивать если что-то не получается
Alex566
240 / 152 / 18
Регистрация: 03.04.2013
Сообщений: 317
23.01.2014, 01:59     Вычислить сумму последовательности из N элементов #9
C++
1
return (n > 1) ? arr[n - 1] * arr[n - 2] + msum(n - 1, arr) : 0;
Я понял немного напутал.
Iren1
0 / 0 / 0
Регистрация: 20.01.2014
Сообщений: 91
23.01.2014, 02:00  [ТС]     Вычислить сумму последовательности из N элементов #10
еще такой вопрос.. у нас числа которые мы вводим..а1,а2... они должны быть дийсни.. на русском вроде действительные.. как это записать? а то у нас они целые
Alex566
240 / 152 / 18
Регистрация: 03.04.2013
Сообщений: 317
23.01.2014, 02:03     Вычислить сумму последовательности из N элементов #11
Цитата Сообщение от Iren1 Посмотреть сообщение
а1,а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
#include <iostream>
using namespace std;
 
double msum(int n,double *arr)
{
    return (n > 1) ? arr[n - 1] * arr[n - 2] + msum(n - 1, arr) : 0;
}
 
int main()
{
    int n;
    double *arr;
    cout << "Input n - ";
    cin >> n;
    arr = new double[n];
    for (int i = 0; i < n; i++)
    {
        cout << "Input " << i + 1 << "-th number - ";
        cin >> arr[i];
    }
    cout << "Msum = " << msum(n, arr) << endl;
    delete[] arr;
    system("pause");
    return 0;
}
Бедел
233 / 29 / 4
Регистрация: 04.06.2010
Сообщений: 286
23.01.2014, 02:06     Вычислить сумму последовательности из N элементов #12
Цитата Сообщение от Iren1 Посмотреть сообщение
на русском вроде действительные.. как это записать?
Просто измените тип массива с int на float.
gromo
370 / 269 / 24
Регистрация: 04.09.2009
Сообщений: 1,214
23.01.2014, 02:10     Вычислить сумму последовательности из N элементов #13
Цитата Сообщение от Alex566 Посмотреть сообщение
Я понял немного напутал
А если n == 1 ? Нужно еще проверку вставить

Добавлено через 2 минуты
C++
1
return (n > 1) ? arr[n - 1] * arr[n - 2] + msum(n - 1, arr) : arr[0];
вот так что-ли
Alex566
240 / 152 / 18
Регистрация: 03.04.2013
Сообщений: 317
23.01.2014, 02:10     Вычислить сумму последовательности из N элементов #14
Цитата Сообщение от gromo Посмотреть сообщение
А если n == 1 ? Нужно еще проверку вставить
Числовой ряд н1*н2+н2*н3... Число в любом случае должно быть на что-то умножено. Если оно одно то и умножать его не на что.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.01.2014, 02:11     Вычислить сумму последовательности из N элементов
Еще ссылки по теме:

Рекурсия: вычислить сумму членов заданной последовательности - C++
Составить программу с использованием рекурсивной функции, в которой вычислить сумму 12 членов рекурсивной последовательности Х0=1; Х1=1;...

Вычислить сумму наибольшего и наименьшего членов последовательности - C++
Даны целые числаn, {a}_{0}, {a}_{1}, {a}_{2},...,{a}_{n-1} . Определить количество членов последовательности {a}_{0}, {a}_{1},...

Найти сумму элементов последовательности - C++
Задана некоторая последовательность чисел: n(n-1)...(n-k)+(n-1)(n-2)...(n-k-1)+(k+1)k(k-1)...1 Как я понял задание, то вводя с...

Найти сумму элементов последовательности - C++
Найти сумму элементов последовательности с точностью 0,001: S = 1.220

Вычислить сумму произведений членов последовательности, найти максимумы и минимумы - C++
Даны действительные числа a_1 ,a_2………a_2n(n=&gt;2 и заранее известно) Вычислить а) a_1 a_2n + a_2 a_(2n-1) + ….+a_n a_(n+1) b)...


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

Или воспользуйтесь поиском по форуму:
Iren1
0 / 0 / 0
Регистрация: 20.01.2014
Сообщений: 91
23.01.2014, 02:11  [ТС]     Вычислить сумму последовательности из N элементов #15
[QUOTE=gromo;5680264]А если n == 1 ? Нужно еще проверку вставить

C
1
if(n==1){cout << "Msum = " << arr[0] << endl;}
Yandex
Объявления
23.01.2014, 02:11     Вычислить сумму последовательности из N элементов
Ответ Создать тему
Опции темы

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