Определить количество минимальных и максимальных элементов в одномерном массиве - C (СИ)
Формулировка задачи:
Добрый вечер!
Прошу помочь мне написать небольшую программу в C, сам начал учить его недавно,поэтому нужна помощь.
Нужно заполнить одномерный массив 40 целыми числами в диапазоне от -21 до 5. И определить кол-во минимальных и максимальных элементов.
Решение задачи: «Определить количество минимальных и максимальных элементов в одномерном массиве»
textual
Листинг программы
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
int main(){
srand(time(NULL));
int arr[40], i, max, min, flag, countMax = 0, countMin = 0;
for(i=0;i<40;i++){
arr[i] = rand()%27 + (-21);
printf("%d, ", arr[i]);
}
printf("\n");
max = min = arr[0];
for(i=0;i<40;i++){
flag = arr[i];
if(max<flag)
max = flag;
if(min>flag)
min = flag;
}
for(i=0;i<40;i++){
if(max == arr[i]) countMax++;
if(min == arr[i]) countMin++;
}
printf("The min number is %d. It found %d time(s).\nThe max number is %d. It found %d time(s).\n", min, countMin, max, countMax);
return 0;
}
Объяснение кода листинга программы
Вот что происходит в этом коде:
- Сначала программа инициализирует массив arr[40] с помощью функции rand()%27 + (-21). Это генерирует случайные числа в диапазоне от -21 до 26 (включительно).
- Затем программа выводит элементы массива с помощью цикла for и функции printf(). Каждое число массива, кроме последнего, выводится с помощью функции printf(
%d,), а последнее число выводится с помощью функции printf(\n). - Затем программа инициализирует переменные max и min значением первого элемента массива.
- Затем программа проходит по всем элементам массива с помощью цикла for. Для каждого элемента она проверяет, является ли он максимальным или минимальным, и обновляет max и min соответственно.
- Затем программа проходит по всем элементам массива с помощью цикла for. Для каждого элемента она проверяет, совпадает ли он с максимальным или минимальным значением, и увеличивает счетчик countMax или countMin соответственно.
- Наконец, программа выводит минимальное и максимальное значение с помощью функции printf(). Она также выводит количество раз, когда каждое из этих значений встречается в массиве, с помощью переменных countMin и countMax.