ОБ
Оксана Бых

Язык программирования C#

Здравствуйте, поясните, пожалуйста, программу.
"Напишите рекурсивную функцию, которая возвращает среднее из n элементов массива чисел. "
Я поняла, что такое рекурсия, но не могу понять, что в итоге должна вывести программа. Буду благодарна за нормальное пояснение. Спасибо.

ТХ
Татьяна Хатькова

В общем я так насоображал (для начала в паскале) :


Считает среднее арифметическое, как я понял (не?) . Думаю понятно, как работает.
Первый аргумент отвечает за количество (фиксирован) , второй варьируется, благодаря чему возникает подобие привычного цикла (на самом деле идет рекурсивное вложение) . Суммирование ведется фактически с последнего элемента к первому.

В C# с приставкой ref не срабатывает 😞
Надо смотреть тонкости работы с рекурсией.

Код для класса реализуемой функции:

КК
Казимир Кристовский

Возможно пропущено слово "арифметическое"? т. е дан массив чисел, вычисляется сумма его элементов, и делится на количество, вывестись должно число так называемое "среднее арифметическое". Если это так то именно этот алгоритм тебе нужно реализовать с помощью рекурсии. (Полное извращение!!!) Удачи

Анатолий Галкин
Анатолий Галкин

Навскидку так: http://pastebin.com/0Z6FpY7J
Вызываешь эту функцию как
double result = RecursiveAverage(arr, 0, 0);
где arr - предварительно заполненный массив, iteration - номер текущего суммируемого элемента, sum - текущая сумма.
Суть работы метода: если текущее значение iteration - больше длины массива, значит мы перебрали все его элементы, поэтому в аргументе sum у нас сумма всех элементов массива. Следовательно, просто возвращаем частное суммы и количества элементов массива - это и будет среднее арифметическое, делаем выход из рекурсии. В противном случае мы прибавляем к sum элемент массива с индексом iteration и рекурсивно вызываем наш метод, передавая ему тот же массив, увеличенное на единицу значение iteration и новое значение sum.

Похожие вопросы
помогите с программированием в языке C++!?
Язык программирования. Вот решил изучить язык программирования C++. Подскажите пожалуйста с чего начать и как?
Какой язык программирования выбрать для изучения после C++ и Delphi
Что можно написать на языке программирования c++?
помогите решить задачу по программированию . язык C++
Какой язык программирования лучше изучать: C++ или C# ?
Язык программирования c++. Помогите.
Программирование на языке C
Я хочу начать изучать язык программирования "C++".
вопросу по языку программирования C#