Найти сумму элементов одномерного массива, кратных заданному числу - C (СИ)
Формулировка задачи:
2. Найти сумму элементов одномерного массива, кратных заданному числу.
Решение задачи: «Найти сумму элементов одномерного массива, кратных заданному числу»
textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
int sum_arr(int *Arr, int n, int p, int s)
{
if (n==0)
return s;
else
if (Arr[0]%p==0)
return sum_arr(Arr+1,n-1,p,s+Arr[0]);
else
return sum_arr(Arr+1,n-1,p,s);
}
int main(int argc, char *argv[])
{
int Z[10]={1,2,3,4,5,6,7,8,9,10};
printf("%d\n",sum_arr(Z,10,3,0));
system("PAUSE");
return 0;
}
Объяснение кода листинга программы
В данном коде:
- Подключаются необходимые библиотеки для работы с файлами и математическими операциями.
- Создается функция с именем sum_arr, которая принимает в качестве аргументов указатель на первый элемент массива, общее количество элементов в массиве, число, на которое необходимо проверить кратность элемента, и начальное значение суммы.
- В функции реализован рекурсивный алгоритм для нахождения суммы элементов массива, кратных заданному числу.
- В функции main создается массив из 10 целых чисел и вызывается функция sum_arr для этого массива с аргументами: указатель на первый элемент массива, общее количество элементов в массиве, число 3 (т.к. в задаче указано, что нужно найти сумму элементов, кратных 3), и начальное значение суммы равное 0.
- Результат выводится на экран.
- В конце программы выводится сообщение
Press any key to continue....