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

Рекурсивная подпрограмма вычисления суммы элементов массива, состоящего из n элеметов. - C++

Восстановить пароль Регистрация
 
OdessaNA
 Аватар для OdessaNA
19 / 19 / 0
Регистрация: 10.01.2011
Сообщений: 240
15.12.2011, 22:51     Рекурсивная подпрограмма вычисления суммы элементов массива, состоящего из n элеметов. #1
Всем привет.
Друзья, подскажите - необходимо написать на С++ рекурсивную подпрограмму вычисления суммы элементов массива, состоящего из n-элеметов.
За ранее благодарю.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.12.2011, 22:51     Рекурсивная подпрограмма вычисления суммы элементов массива, состоящего из n элеметов.
Посмотрите здесь:

Вычисления суммы элементов массива с явной специализацией (тип char*) C++
C++ Рекурсивная функция вычисления суммы бесконечного ряда
C++ Массив: Написать функцию вычисления суммы элементов массива
Написать функцию вычисления суммы элементов массива C++
C++ Описать класс для вычисления суммы непарных элементов массива
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Heidel
 Аватар для Heidel
110 / 110 / 7
Регистрация: 11.10.2011
Сообщений: 647
15.12.2011, 23:01     Рекурсивная подпрограмма вычисления суммы элементов массива, состоящего из 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
25
26
27
#include <iostream>
#include <ctime>
 
#define n 10
 
// Рекурсивная функция для вычисления суммы элементов массива
int summa (int *arr, size_t size)
{
    return size ? *arr + summa (arr + 1, size - 1) : 0; 
}
 
int main ()
{
    srand(time(NULL));
    int a[n];
    std::cout << "Massiv a iz " << n << " elementov\n";
    for (int i = 0; i < n; i++)
    {
        a[i] = rand()%101; //заполнение массива a[n] случайными числами в диапазоне от 0 до 100
        std::cout << a[i] << " ";
    }
    
    int S = summa(a, n);
 
    std::cout << "\nSumma elementov massiva a\nS = " << S << "\n";
    return 0;
}
alkagolik
 Аватар для alkagolik
1510 / 616 / 79
Регистрация: 15.07.2011
Сообщений: 3,552
15.12.2011, 23:05     Рекурсивная подпрограмма вычисления суммы элементов массива, состоящего из n элеметов. #3
C
1
2
3
4
int find_sum ( int *a, int n )
{
    return ( n ) ? *a + find_sum( ++a, --n ) : 0;
}
Heidel
 Аватар для Heidel
110 / 110 / 7
Регистрация: 11.10.2011
Сообщений: 647
15.12.2011, 23:10     Рекурсивная подпрограмма вычисления суммы элементов массива, состоящего из n элеметов. #4
С динамическим массивом
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
#include <iostream>
#include <ctime>
 
// ÐåêóðñèâГ*Г*Гї ГґГіГ*êöèÿ äëÿ âû÷èñëåГ*ГЁГї ñóììû ýëåìåГ*òîâ Г¬Г*Г±Г±ГЁГўГ*
int summa (int *arr, size_t size)
{
    return size ? *arr + summa (arr + 1, size - 1) : 0; 
}
 
int main ()
{
    srand(time(NULL));
 
    int n;
    int *a = NULL;
    
    std::cout << "Vvedite n = ";
    std::cin >> n;
 
    a = new int [n];
    std::cout << "Massiv a iz " << n << " elementov\n";
    for (int i = 0; i < n; i++)
    {
        a[i] = rand()%101; //Г§Г*ïîëГ*ГҐГ*ГЁГҐ Г¬Г*Г±Г±ГЁГўГ* a[n] ñëó÷Г*Г©Г*ûìè Г·ГЁГ±Г«Г*ìè Гў äèГ*ГЇГ*çîГ*ГҐ îò 0 äî 100
        std::cout << a[i] << " ";
    }
    
    int S = summa(a, n);
 
    std::cout << "\nSumma elementov massiva a\nS = " << S << "\n";
    return 0;
 
    free (a);
}
Yandex
Объявления
15.12.2011, 23:10     Рекурсивная подпрограмма вычисления суммы элементов массива, состоящего из n элеметов.
Ответ Создать тему
Опции темы

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