Найти количество элементов массива, попадающих в заданный интервал - 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; }
Объяснение кода листинга программы
- Объединение функций main и check в одном файле.
- В функции main(), инициализация генератора случайных чисел с помощью srand(time(NULL)).
- В функции main(), пользователь вводит размер массива, границы интервала и сам массив с помощью scanf().
- В функции main(), массив инициализируется случайными числами с помощью цикла for и функции rand().
- В функции main(), выводится количество элементов массива, попадающих в заданный интервал с помощью функции check().
- В функции main(), программа ожидает нажатия любой клавиши с помощью system(
pause
). - В функции main(), возвращается 0, чтобы указать, что программа успешно завершилась.
- Функция check() принимает массив, длину массива, нижнюю и верхнюю границы интервала в качестве параметров.
- В функции check(), инициализируются переменные i, counter = 0.
- В функции check(), происходит проверка каждого элемента массива с помощью цикла for.
- Если элемент массива попадает в заданный интервал, переменная counter увеличивается на 1.
- В функции check(), возвращается значение переменной counter.
- Пределы интервала инициализируются с помощью макросов #define HIGH_BORDER 100 и #define LOW_BORDER -100.
- Предел размера массива инициализируется с помощью переменной size_of_array и функции scanf().
- Пределы интервала инициализируются с помощью функций scanf().
- Массив инициализируется с помощью операции malloc() и цикла for.
- В цикле for, каждый элемент массива инициализируется случайным числом с помощью функции rand() и оператора % (возвращает остаток от деления).
- В цикле for, выводится каждый элемент массива с помощью функции printf().
- Выводится количество элементов массива, попадающих в заданный интервал, с помощью функции printf() и функции check().
- Программа ожидает нажатия любой клавиши с помощью функции system(
pause
).
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д