// Функция поиска минимального значения
int fMin(const int a[], int n) {
int m = a[0]; // Берём первый элемент как текущий минимум
for (int i = 1; i < n; ++i)// Проходим по остальным элементам
if (a[i] < m) m = a[i]; // Если нашли элемент меньше текущего минимума — обновляем его (назначаем новый минимум)
return m; // Возвращаем найденный минимум
}
// Функция поиска максимального значения
int fMax(const int a[], int n) {
int m = a[0]; // Берём первый элемент как текущий максимум
for (int i = 1; i < n; ++i)// Проходим по остальным элементам
if (a[i] > m) m = a[i]; // Если элемент больше текущего максимума — обновляем его (назначаем новый максимум)
return m; // Возвращаем максимум
}
// Функция вычисления среднего арифметического
float fAvg(const int a[], int n) {
long s = 0; // Предотвращаем переполнение при сложении
for (int i = 0; i < n; ++i) s += a[i]; // Суммируем все элементы
return (float)s / n; // Делим сумму на количество элементов и приводим к float
}
void setup() {
Serial.begin(9600); // Включаем последовательный порт на скорости 9600 бод
// Создаем исходный целочисленный массив из 10 элементов
const int arr[10] = {10, 7, 0, 13, 1, 24, 17, 19, 44, 3};
// Выводим целочисленный массив в монитор порта
Serial.print("Исходный массив: ");
for (int i = 0; i < 10; ++i) {
Serial.print(arr[i]); // Печатаем число
Serial.print(i == 10 - 1 ? "" : ", "); // Ставим запятые после всех чисел, кроме последнего
}
Serial.println(); // Перевод строки
// Вызываем функции и выводим результаты
Serial.print("Минимаотное значение: "); Serial.println(fMin(arr, 10)); // Минимальное значение
Serial.print("Максимальное значение: "); Serial.println(fMax(arr, 10)); // Максимальное значение
Serial.print("Среднее арифметическое: "); Serial.println(fAvg(arr, 10)); // Среднее значение
}
void loop() {} // Пустой цикл: оставляем пустым так как вся работа делается один раз в setup()