С помощью рекурсивной функции вычислить сумму - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Дано натуральное n, действительные a1,a2,...,an.С помощью рекурсивной функции вычислить сумму a1*a2+a2*a3+...+an-1*an. Программный код через printf и scanf

Решение задачи: «С помощью рекурсивной функции вычислить сумму»

textual
Листинг программы
#include <stdio.h>
 
int Sum(int *A, int n, int i)
{
    if (i == (n-1))
        return A[i]*A[i+1];
    else
        return A[i]*A[i+1]+Sum(A,n,i+1);
}
 
int main(int argc, char* argv[])
{
    int Arr[6]={0,1,2,3,4,5};
    printf("%d\n",Sum(Arr,5,1));
    return 0;
}

Объяснение кода листинга программы

  1. Включаем стандартную библиотеку ввода-вывода
  2. Определяем функцию с именем Sum, которая принимает три аргумента: массив A, его размер n и индекс i.
  3. В функции Sum используется рекурсивный подход для вычисления суммы элементов массива A.
  4. Если i равно (n-1), то возвращаем A[i]*A[i+1].
  5. Если условие не выполняется, то возвращаем A[i]*A[i+1]+Sum(A,n,i+1).
  6. В функции main создаем массив Arr размером 6 и заполняем его значениями от 0 до 5.
  7. Вызываем функцию Sum, передавая в качестве аргументов массив Arr, его размер 5 и 1-й элемент массива.
  8. Выводим результат вычисления функции Sum на экран.
  9. Возвращаем 0, чтобы указать, что программа успешно завершилась.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4 из 5
Похожие ответы