Поиск максимальных элементов одномерных массивов - C (СИ)
Формулировка задачи:
Даны два одномерных массива, состоящие не более чем из 30 элементов каждый. Использовав подпрограмму поиска максимального элемента, найти половину от сумы максимальных элементов заданных массивов
Решение задачи: «Поиск максимальных элементов одномерных массивов»
textual
Листинг программы
- #include <stdio.h>
- #include <stdlib.h>
- float max_arr(float *arr, int n)
- {
- int i;
- float max = arr[0];
- for(i=1;i<n;i++)
- if(arr[i] > max)
- max = arr[i];
- return max;
- }
- int main()
- {
- float *a, *b;
- int i,n;
- printf("n = ");
- scanf("%d", &n);
- if(n<=0 || n>30)
- return 1;
- a = calloc(n, sizeof(*a));
- b = calloc(n, sizeof(*b));
- printf("Input a:\n");
- for(i=0;i<n;i++)
- scanf("%f",&a[i]);
- printf("Input b:\n");
- for(i=0;i<n;i++)
- scanf("%f",&b[i]);
- printf("(max_a + max_b) / 2 = %f", (max_arr(a,n) + max_arr(b,n))/2.0);
- free(a);
- free(b);
- return 0;
- }
Объяснение кода листинга программы
- В функции
max_arr
ищется максимальное значение в массивеarr
с помощью циклаfor
. - Переменная
max
инициализируется значением первого элемента массиваarr
. - Затем происходит сравнение каждого элемента массива с переменной
max
. Если текущий элемент большеmax
, то он становится новым значениемmax
. - В функции
main
происходит запрос на ввод количества элементов массиваn
. - Затем происходит проверка на корректность введенного значения
n
. Если оно некорректно, программа завершается с кодом ошибки 1. - С помощью функции
calloc
выделяется память под два массиваa
иb
поn
элементов каждый. - Затем происходит запрос на ввод значений для массивов
a
иb
. - Вызывается функция
max_arr
для поиска максимального значения в массивахa
иb
. - Результат вычисления
(max_arr(a,n) + max_arr(b,n))/2
выводится на экран. - С помощью функции
free
освобождается память, выделенная под массивыa
иb
. - Программа завершается с кодом 0, указывающим на успешное выполнение.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д