Quick actions

cmd+k|ctrl+k

Navigation

Languages

lab5 task2

Snippet info

Language

C

Visibility

public

Author

t.m.kozynets

Created

2025-05-19T01:26:33.430559Z

Updated

2025-05-19T01:26:33.430559Z

#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;
}
INFO