Поиск максимальных элементов одномерных массивов - C (СИ)

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

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

Даны два одномерных массива, состоящие не более чем из 30 элементов каждый. Использовав подпрограмму поиска максимального элемента, найти половину от сумы максимальных элементов заданных массивов

Решение задачи: «Поиск максимальных элементов одномерных массивов»

textual
Листинг программы
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. float max_arr(float *arr, int n)
  5. {
  6.     int i;
  7.     float max = arr[0];
  8.    
  9.     for(i=1;i<n;i++)
  10.         if(arr[i] > max)
  11.             max = arr[i];
  12.        
  13.     return max;
  14. }
  15.  
  16.  
  17. int main()
  18. {
  19.     float *a, *b;
  20.     int i,n;
  21.    
  22.     printf("n = ");
  23.     scanf("%d", &n);
  24.    
  25.     if(n<=0 || n>30)
  26.         return 1;
  27.    
  28.     a = calloc(n, sizeof(*a));
  29.     b = calloc(n, sizeof(*b));
  30.    
  31.     printf("Input a:\n");
  32.     for(i=0;i<n;i++)
  33.         scanf("%f",&a[i]);
  34.    
  35.     printf("Input b:\n");
  36.     for(i=0;i<n;i++)
  37.         scanf("%f",&b[i]);
  38.    
  39.     printf("(max_a + max_b) / 2 = %f", (max_arr(a,n) + max_arr(b,n))/2.0);
  40.     free(a);
  41.     free(b);
  42.    
  43.     return 0;
  44. }

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

  1. В функции max_arr ищется максимальное значение в массиве arr с помощью цикла for.
  2. Переменная max инициализируется значением первого элемента массива arr.
  3. Затем происходит сравнение каждого элемента массива с переменной max. Если текущий элемент больше max, то он становится новым значением max.
  4. В функции main происходит запрос на ввод количества элементов массива n.
  5. Затем происходит проверка на корректность введенного значения n. Если оно некорректно, программа завершается с кодом ошибки 1.
  6. С помощью функции calloc выделяется память под два массива a и b по n элементов каждый.
  7. Затем происходит запрос на ввод значений для массивов a и b.
  8. Вызывается функция max_arr для поиска максимального значения в массивах a и b.
  9. Результат вычисления (max_arr(a,n) + max_arr(b,n))/2 выводится на экран.
  10. С помощью функции free освобождается память, выделенная под массивы a и b.
  11. Программа завершается с кодом 0, указывающим на успешное выполнение.

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


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

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

15   голосов , оценка 3.867 из 5

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

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

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