Найти разность двух наибольших и двух наименьших положительных четных элементов массива - C (СИ)
Формулировка задачи:
Найти разность двух наибольших и двух наименьших положительных четных элементов массива А(20), заполненного случайными числами.
Решение задачи: «Найти разность двух наибольших и двух наименьших положительных четных элементов массива»
textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define SIZE 20
int random_arr(int arr[], int n){
for (int i = 0; i <= n; i+=1){
arr[i] = rand() % 100;
}
return 0;
}
int main(void){
int arr[SIZE];
srand(time(NULL));
random_arr(arr, SIZE);
int min1 = 100; int min2 = 100; int max1 = 0; int max2 = 0;
for (int i = 0; i <= SIZE; i+=1){
if (arr[i] < min1){
min1 = arr[i];
}
if (arr[i] < min2 && arr[i] != min1){
min2 = arr[i];
}
if (arr[i] > max1){
max1 = arr[i];
}
if (arr[i] > max2 && arr[i] != max1){
max2 = arr[i];
}
}
for (int i = 0; i <= SIZE; i+=1){
printf("%d ", arr[i]);
}
printf("\n");
printf("Первое минимальное: %d\n", min1);
printf("Второе минимальное: %d\n", min2);
printf("Первое максимальное: %d\n", max1);
printf("Второе максимальное: %d\n", max2);
printf("Разность минимальных: %d\n", min2 - min1);
printf("Разность максимальных: %d\n", max1 - max2);
}
Объяснение кода листинга программы
- Объявлен массив arr размерностью SIZE и функция main.
- В функции main массив инициализируется случайными числами с помощью функции random_arr.
- Затем в цикле for находятся два наименьших и два наибольших положительных четных элемента массива.
- Для этого в цикле перебираются все элементы массива. Если текущий элемент меньше min1, то он становится новым min1. Если текущий элемент меньше min2 и не равен min1, то он становится новым min2. Если текущий элемент больше max1, то он становится новым max1. Если текущий элемент больше max2 и не равен max1, то он становится новым max2.
- После нахождения минимальных и максимальных значений, они выводятся на экран с помощью функции printf.
- Разность между min2 и min1, а также между max1 и max2, вычисляется с помощью операции вычитания и выводится на экран.