Найти сумму элементов одномерного массива, кратных заданному числу - C (СИ)

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

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

2. Найти сумму элементов одномерного массива, кратных заданному числу.

Решение задачи: «Найти сумму элементов одномерного массива, кратных заданному числу»

textual
Листинг программы
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int sum_arr(int *Arr, int n, int p, int s)
  5. {
  6.  
  7.     if (n==0)
  8.        return s;
  9.     else
  10.        if (Arr[0]%p==0)
  11.           return sum_arr(Arr+1,n-1,p,s+Arr[0]);
  12.        else
  13.           return sum_arr(Arr+1,n-1,p,s);
  14.  
  15. }    
  16.  
  17. int main(int argc, char *argv[])
  18. {
  19.  
  20.   int Z[10]={1,2,3,4,5,6,7,8,9,10};
  21.  
  22.   printf("%d\n",sum_arr(Z,10,3,0));
  23.  
  24.   system("PAUSE"); 
  25.   return 0;
  26. }

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

В данном коде:

  1. Подключаются необходимые библиотеки для работы с файлами и математическими операциями.
  2. Создается функция с именем sum_arr, которая принимает в качестве аргументов указатель на первый элемент массива, общее количество элементов в массиве, число, на которое необходимо проверить кратность элемента, и начальное значение суммы.
  3. В функции реализован рекурсивный алгоритм для нахождения суммы элементов массива, кратных заданному числу.
  4. В функции main создается массив из 10 целых чисел и вызывается функция sum_arr для этого массива с аргументами: указатель на первый элемент массива, общее количество элементов в массиве, число 3 (т.к. в задаче указано, что нужно найти сумму элементов, кратных 3), и начальное значение суммы равное 0.
  5. Результат выводится на экран.
  6. В конце программы выводится сообщение Press any key to continue....

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


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

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

7   голосов , оценка 4.429 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы