Найти разность двух наибольших и двух наименьших положительных четных элементов массива - C (СИ)

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

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

Найти разность двух наибольших и двух наименьших положительных четных элементов массива А(20), заполненного случайными числами.

Решение задачи: «Найти разность двух наибольших и двух наименьших положительных четных элементов массива»

textual
Листинг программы
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4. #define SIZE 20
  5.  
  6. int random_arr(int arr[], int n){
  7.     for (int i = 0; i <= n; i+=1){
  8.         arr[i] = rand() % 100;
  9.     }
  10.     return 0;
  11. }
  12.  
  13. int main(void){
  14.     int arr[SIZE];
  15.     srand(time(NULL));
  16.     random_arr(arr, SIZE);
  17.     int min1 = 100; int min2 = 100; int max1 = 0; int max2 = 0;
  18.     for (int i = 0; i <= SIZE; i+=1){
  19.         if (arr[i] < min1){
  20.             min1 = arr[i];
  21.         }
  22.         if (arr[i] < min2 && arr[i] != min1){  
  23.             min2 = arr[i];
  24.         }
  25.         if (arr[i] > max1){
  26.             max1 = arr[i];
  27.         }
  28.         if (arr[i] > max2 && arr[i] != max1){
  29.             max2 = arr[i];
  30.         }
  31.     }
  32.     for (int i = 0; i <= SIZE; i+=1){
  33.         printf("%d ", arr[i]);
  34.     }
  35.     printf("\n");
  36.     printf("Первое минимальное: %d\n", min1);
  37.     printf("Второе минимальное: %d\n", min2);
  38.     printf("Первое максимальное: %d\n", max1);
  39.     printf("Второе максимальное: %d\n", max2);
  40.     printf("Разность минимальных: %d\n", min2 - min1);
  41.     printf("Разность максимальных: %d\n", max1 - max2);
  42. }

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

  1. Объявлен массив arr размерностью SIZE и функция main.
  2. В функции main массив инициализируется случайными числами с помощью функции random_arr.
  3. Затем в цикле for находятся два наименьших и два наибольших положительных четных элемента массива.
  4. Для этого в цикле перебираются все элементы массива. Если текущий элемент меньше min1, то он становится новым min1. Если текущий элемент меньше min2 и не равен min1, то он становится новым min2. Если текущий элемент больше max1, то он становится новым max1. Если текущий элемент больше max2 и не равен max1, то он становится новым max2.
  5. После нахождения минимальных и максимальных значений, они выводятся на экран с помощью функции printf.
  6. Разность между min2 и min1, а также между max1 и max2, вычисляется с помощью операции вычитания и выводится на экран.

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


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

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

12   голосов , оценка 3.917 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы