Написать функцию, возвращающую сумму элементов массива с индексами, которые делятся на 3 без остатка - C (СИ)
Формулировка задачи:
Задан одномерный массив из 300 элементов. Написать программу, которая содержит:
1)Ф-ию заполнения массива случайными элементами от 20 до 200.
2)Ф-ию, возвращающую сумму эл массива с индексами, которые делятся на 3 без остатка
3)Ф-ию, возвращающую количество чисел (знач эл массива), которые больше N, но меньше M (N,M -параметр ф-ии)
P.S помогите пожалуйста)
Ответьте кто-нибудь пожалуйста
Решение задачи: «Написать функцию, возвращающую сумму элементов массива с индексами, которые делятся на 3 без остатка»
textual
Листинг программы
- #include <stdio.h>
- #include <stdlib.h>
- #include <time.h>
- //-----------------------------------------------------------------------------
- int Random(int min, int max) {
- return rand() % (max - min + 1) + min;
- }
- //-----------------------------------------------------------------------------
- int* FillRandom(int array[], unsigned size, int min, int max) {
- unsigned i = size;
- while (i--) {
- array[i] = Random(min, max);
- }
- return array;
- }
- //-----------------------------------------------------------------------------
- void Print(int array[], unsigned size) {
- unsigned i;
- for (i = 0; i < size; ++i) {
- printf("%d ", array[i]);
- }
- printf("\n");
- }
- //-----------------------------------------------------------------------------
- int GetSum(int array[], unsigned size, unsigned each) {
- int sum = 0;
- unsigned i;
- for (i = 2; i < size; i += 3) {
- sum += array[i];
- }
- return sum;
- }
- //-----------------------------------------------------------------------------
- unsigned GetCount(int array[], unsigned size, int min, int max) {
- unsigned count = 0;
- unsigned i;
- for (i = 0; i < size; ++i) {
- if ((min < array[i]) && (array[i] < max)) {
- count++;
- }
- }
- return count;
- }
- //-----------------------------------------------------------------------------
- #define N 300
- int main() {
- int array[N];
- srand(time(NULL));
- FillRandom(array, N, 20, 200);
- Print(array, N);
- printf("sum = %d\n", GetSum(array, N, 3));
- printf("count = %u\n", GetCount(array, N, 50, 100));
- return EXIT_SUCCESS;
- }
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы
- Создаем функцию Random, которая генерирует случайное число в заданном диапазоне
- Создаем функцию FillRandom, которая заполняет массив случайными числами
- Создаем функцию Print, которая выводит содержимое массива на экран
- Создаем функцию GetSum, которая считает сумму элементов массива с индексами, которые делятся на 3 без остатка
- Создаем функцию GetCount, которая считает количество элементов массива в заданном диапазоне
- В основной функции программы определяем размер массива и инициализируем его
- Инициализируем генератор случайных чисел
- Заполняем массив случайными числами
- Выводим содержимое массива на экран
- Считаем и выводим на экран сумму элементов массива с индексами, которые делятся на 3 без остатка
- Считаем и выводим на экран количество элементов массива в заданном диапазоне
- Завершаем программу успешно
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д