#include <stdio.h>
#include <stdlib.h>
#include <time.h>
// Функція обробки масиву: знаходить максимум і середнє значення
void processArray(const int *array, int size, int *maxValue, double *average) {
if (size <= 0 || array == NULL || maxValue == NULL || average == NULL) {
return;
}
const int *ptr = array;
*maxValue = *ptr;
long sum = 0;
for (int i = 0; i < size; i++, ptr++) {
if (*ptr > *maxValue) {
*maxValue = *ptr;
}
sum += *ptr;
}
*average = (double)sum / size;
}
int main() {
int size;
printf("Введіть розмір масиву: ");
if (scanf("%d", &size) != 1 || size <= 0) {
printf("Невірне значення розміру масиву.\n");
return 1;
}
int *array = (int *)malloc(size * sizeof(int));
if (array == NULL) {
printf("Помилка виділення пам'яті.\n");
return 1;
}
srand(time(NULL)); // Ініціалізація генератора випадкових чисел
printf("Згенерований масив:\n");
for (int i = 0; i < size; i++) {
*(array + i) = rand() % 100; // Випадкові числа від 0 до 99
printf("%d ", *(array + i));
}
printf("\n");
int max;
double avg;
processArray(array, size, &max, &avg);
printf("Максимальний елемент: %d\n", max);
printf("Середнє значення: %.2f\n", avg);
free(array); // Звільнення пам’яті
return 0;
}