Написать функцию, возвращающую сумму элементов массива с индексами, которые делятся на 3 без остатка - C (СИ)

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

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

Задан одномерный массив из 300 элементов. Написать программу, которая содержит: 1)Ф-ию заполнения массива случайными элементами от 20 до 200. 2)Ф-ию, возвращающую сумму эл массива с индексами, которые делятся на 3 без остатка 3)Ф-ию, возвращающую количество чисел (знач эл массива), которые больше N, но меньше M (N,M -параметр ф-ии) P.S помогите пожалуйста)
Ответьте кто-нибудь пожалуйста

Решение задачи: «Написать функцию, возвращающую сумму элементов массива с индексами, которые делятся на 3 без остатка»

textual
Листинг программы
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4.  
  5. //-----------------------------------------------------------------------------
  6. int Random(int min, int max) {
  7.  
  8.     return rand() % (max - min + 1) + min;
  9. }
  10. //-----------------------------------------------------------------------------
  11. int* FillRandom(int array[], unsigned size, int min, int max) {
  12.  
  13.     unsigned i = size;
  14.     while (i--) {
  15.         array[i] = Random(min, max);
  16.     }
  17.  
  18.     return array;
  19. }
  20. //-----------------------------------------------------------------------------
  21. void Print(int array[], unsigned size) {
  22.  
  23.     unsigned i;
  24.     for (i = 0; i < size; ++i) {
  25.         printf("%d ", array[i]);
  26.     }
  27.     printf("\n");
  28. }
  29. //-----------------------------------------------------------------------------
  30. int GetSum(int array[], unsigned size, unsigned each) {
  31.  
  32.     int sum = 0;
  33.  
  34.     unsigned i;
  35.     for (i = 2; i < size; i += 3) {
  36.         sum += array[i];
  37.     }
  38.  
  39.     return sum;
  40. }
  41. //-----------------------------------------------------------------------------
  42. unsigned GetCount(int array[], unsigned size, int min, int max) {
  43.  
  44.     unsigned count = 0;
  45.  
  46.     unsigned i;
  47.     for (i = 0; i < size; ++i) {
  48.         if ((min < array[i]) && (array[i] < max)) {
  49.             count++;
  50.         }
  51.     }
  52.  
  53.     return count;
  54. }
  55. //-----------------------------------------------------------------------------
  56.  
  57. #define N 300
  58.  
  59. int main() {
  60.  
  61.     int array[N];
  62.  
  63.     srand(time(NULL));
  64.  
  65.     FillRandom(array, N, 20, 200);
  66.     Print(array, N);
  67.  
  68.     printf("sum = %d\n", GetSum(array, N, 3));
  69.  
  70.     printf("count = %u\n", GetCount(array, N, 50, 100));
  71.  
  72.     return EXIT_SUCCESS;
  73. }

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

  1. Включаем необходимые заголовочные файлы
  2. Создаем функцию Random, которая генерирует случайное число в заданном диапазоне
  3. Создаем функцию FillRandom, которая заполняет массив случайными числами
  4. Создаем функцию Print, которая выводит содержимое массива на экран
  5. Создаем функцию GetSum, которая считает сумму элементов массива с индексами, которые делятся на 3 без остатка
  6. Создаем функцию GetCount, которая считает количество элементов массива в заданном диапазоне
  7. В основной функции программы определяем размер массива и инициализируем его
  8. Инициализируем генератор случайных чисел
  9. Заполняем массив случайными числами
  10. Выводим содержимое массива на экран
  11. Считаем и выводим на экран сумму элементов массива с индексами, которые делятся на 3 без остатка
  12. Считаем и выводим на экран количество элементов массива в заданном диапазоне
  13. Завершаем программу успешно

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


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

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

11   голосов , оценка 4.545 из 5

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

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

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