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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
montkay
10 / 10 / 8
Регистрация: 19.02.2014
Сообщений: 72
#1

Рекурсивная функция. Посчитать среднее арифметическое элементов массива - C++

19.02.2014, 01:06. Просмотров 1743. Ответов 6
Метки нет (Все метки)

Нужно с помощью рекурсивной функции посчитать среднее арифметическое элементов массива.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.02.2014, 01:06
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Рекурсивная функция. Посчитать среднее арифметическое элементов массива (C++):

Рекурсивная функция: вычислить среднее арефметическое элементов одномерного массива - C++
прошу помочь с программой с помощью рекурсивной функции вычислить среднее арефметическое элементов одномерного массива

Посчитать и вывести среднее арифметическое элементов массива, не превышающих B - C++
Посчитать и вывести среднее арифметическое, значений елементов массива A(10), которые не превышают заданое число B.

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

Посчитать среднее арифметическое элементов массива, расположенных между max и min - C++
В массиве нужно подсчитать среднее арифметическое всех элементов расположенных между максимальным элементом и минимальным! например я...

Функция определяющая среднее арифметическое элементов массива - C++
Друзья помогите зазобраться. Начали новую тему. А не доганяю... *** Написать функцию, определяющую среднее арифметическое...

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

6
fnktastic
0 / 0 / 0
Регистрация: 07.12.2013
Сообщений: 5
19.02.2014, 01:18 #2
Цитата Сообщение от montkay Посмотреть сообщение
Нужно с помощью рекурсивной функции посчитать среднее арифметическое элементов массива.
Поищите в поиске, точно такое было уже.
0
montkay
10 / 10 / 8
Регистрация: 19.02.2014
Сообщений: 72
19.02.2014, 11:14  [ТС] #3
Да, искал. Много похожих - по типу сумма элементов массива, разные прогрессии, формулы и т.д. Но меня интересует именно среднее арифметическое. Такого не находил.
0
Ilot
Модератор
Эксперт С++
1823 / 1181 / 232
Регистрация: 16.05.2013
Сообщений: 3,118
Записей в блоге: 5
Завершенные тесты: 1
19.02.2014, 11:30 #4
Цитата Сообщение от montkay Посмотреть сообщение
Нужно с помощью рекурсивной функции посчитать среднее арифметическое элементов массива.
Не представляю как это можно вразумительно реализовать...
Ведь вы не можете на каждой ступени реккурсиии вычислять среднее. Можно только найти сумму элементов массива.
Вообще-то руки нужно поотбивать преподам которые дают такие задания, имхо.
0
stikkas
19 / 19 / 6
Регистрация: 26.01.2014
Сообщений: 56
19.02.2014, 12:11 #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
using namespace std;
 
double average(int *arr, int n);
 
int main() {
    const int SIZE = 10;
    int numbers[SIZE] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
    cout << "Average sum is: " << average(numbers, SIZE) << endl;
    return 0;
}
 
double average(int *arr, int n) {
    static double res = 0;
    static int size = n;
    --n;
    if (n == 0) {
        return (res + arr[n]) / size;
    }
    res += arr[n];
    return average(arr, n);
}
Я этот препод
1
Ilot
Модератор
Эксперт С++
1823 / 1181 / 232
Регистрация: 16.05.2013
Сообщений: 3,118
Записей в блоге: 5
Завершенные тесты: 1
19.02.2014, 12:22 #6
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Вот это и называется невразумительное решение. Ведь вы вычисляете среднее только на последней итеррации, а до этого идет простое суммирование массива.
Вот это более вразумительное:
C++
1
2
3
4
5
double average(int *arr, int n) {
    if (n == 1)
        return arr[n - 1];
    return ((n-1) * average(arr, n - 1) + arr[n - 1])/n;
}
Но все равно шито белыми нитками, а препода на мясо.
1
montkay
10 / 10 / 8
Регистрация: 19.02.2014
Сообщений: 72
19.02.2014, 15:52  [ТС] #7
Спасибо большое =) Преподаватель - хороший. Просто система обучения такая у нас - много и сразу нужно учить. По этому иногда не успеваешь разобраться в таких функциях.

Добавлено через 44 минуты
Спасибо, Ваш код тоже мне помог. Но мы ещё не изучали переменные "static", по этому сложно понять код.
0
19.02.2014, 15:52
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.02.2014, 15:52
Привет! Вот еще темы с ответами:

Посчитать среднее арифметическое элементов заданной матрицы - C++
День добрый, только на двумерные массивы перешел, Сделал задачу, но чего то не то пальто, подскажите где проблема? За ранее...

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

Посчитать среднее арифметическое положительных элементов каждого столбца - C++
Помогите пожалуйста: Нужно посчитать среднее арифметическое положительных єлементов каждого столбца матрицы и напечатать результаты в виде...

В одномерном числовом массиве посчитать среднее арифметическое отрицательных элементов - C++
В одномерном числовом массиве посчитать среднее арифметическое отрицательных элементов. Заранее спасибо :)


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

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

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