https://pastein.ru/t/-vV

  скопируйте уникальную ссылку для отправки

Загрузка данных


#include <stdio.h>


int isPrime(int num) {
    if (num <= 1) {
        return 0;
    }
    for (int i = 2; i * i <= num; i++) {
        if (num % i == 0) {
            return 0;
        }
    }
    return 1;
}


double calculateAverage(int* arr, int length) {
    int sum = 0;
    int count = 0;
    for (int i = 0; i < length; i++) {
        sum += arr[i];
        count++;
    }
    return (double)sum / count;
}

int main() {
    int n;
    printf("Введите размер матрицы: ");
    scanf("%d", &n);

    int matrix[n][n];
    printf("Введите элементы матрицы:\n");
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < n; j++) {
            scanf("%d", &matrix[i][j]);
        }
    }

    for (int j = 0; j < n; j++) {
        int columnValues[n];
        int count = 0;

        
        for (int i = 0; i < n; i++) {
            columnValues[count++] = matrix[i][j];
        }
        
        
        if (j % 2 == 0) {
            double average = calculateAverage(columnValues, count);
            for (int i = 0; i < n; i++) {
                if (isPrime(columnValues[i])) {
                    matrix[i][j] = average;
                    break;
                }
            }
        } else {
            double average = calculateAverage(columnValues, count);
            for (int i = 0; i < n; i++) {
                if (!isPrime(columnValues[i])) {
                    matrix[i][j] = average;
                    break;
                }
            }
        }
    }

    printf("Матрица после замен:\n");
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < n; j++) {
            printf("%d ", matrix[i][j]);
        }
        printf("\n");
    }

    return 0;
}