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

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

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

Дано последовательность из N чисел : а(1), а(2), а(3), а(4), а(5), а(6), а(7), а(8), , а(N) Найти КОЛИЧЕСТВО чисел, которые отвечают промежутку [a,b]

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

textual
Листинг программы
#include <stdio.h>
#include <time.h>
#define HIGH_BORDER 100
#define LOW_BORDER -100
int check(int arr[], int arr_length, int low_limit, int high_limit) {
    int i, counter = 0;
    for (i = 0; i < arr_length; i++) {
        if ((arr[i] >= low_limit) && (arr[i] <= high_limit)) {
            counter++;
        }
    }
    return counter;
}
 
int main() {
    srand(time(NULL));
    int size_of_array, i;
    int low = 0, high = 0;
    printf("Enter the size of the array: ");
    scanf("%d", &size_of_array);
    printf("Enther the left border: ");
    scanf("%d", &low);
    printf("Enther the right border: ");
    scanf("%d", &high);
    int *Arr = malloc(size_of_array * sizeof(int));
    for (i = 0; i < size_of_array; i++) {
        Arr[i] = rand() % (HIGH_BORDER + 1 - LOW_BORDER) + LOW_BORDER;
        printf("%3d  ", Arr[i]);
    }
    printf("\n%d\n", check(Arr, size_of_array, low, high));
    system("pause");
    return 0;
}

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

  1. Объединение функций main и check в одном файле.
  2. В функции main(), инициализация генератора случайных чисел с помощью srand(time(NULL)).
  3. В функции main(), пользователь вводит размер массива, границы интервала и сам массив с помощью scanf().
  4. В функции main(), массив инициализируется случайными числами с помощью цикла for и функции rand().
  5. В функции main(), выводится количество элементов массива, попадающих в заданный интервал с помощью функции check().
  6. В функции main(), программа ожидает нажатия любой клавиши с помощью system(pause).
  7. В функции main(), возвращается 0, чтобы указать, что программа успешно завершилась.
  8. Функция check() принимает массив, длину массива, нижнюю и верхнюю границы интервала в качестве параметров.
  9. В функции check(), инициализируются переменные i, counter = 0.
  10. В функции check(), происходит проверка каждого элемента массива с помощью цикла for.
  11. Если элемент массива попадает в заданный интервал, переменная counter увеличивается на 1.
  12. В функции check(), возвращается значение переменной counter.
  13. Пределы интервала инициализируются с помощью макросов #define HIGH_BORDER 100 и #define LOW_BORDER -100.
  14. Предел размера массива инициализируется с помощью переменной size_of_array и функции scanf().
  15. Пределы интервала инициализируются с помощью функций scanf().
  16. Массив инициализируется с помощью операции malloc() и цикла for.
  17. В цикле for, каждый элемент массива инициализируется случайным числом с помощью функции rand() и оператора % (возвращает остаток от деления).
  18. В цикле for, выводится каждый элемент массива с помощью функции printf().
  19. Выводится количество элементов массива, попадающих в заданный интервал, с помощью функции printf() и функции check().
  20. Программа ожидает нажатия любой клавиши с помощью функции system(pause).

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


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

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

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