CCCPaste

942bc8bf86dba

#include 
#include  // Для использования INT_MIN и INT_MAX
using namespace std;

int main() {
    int N, M;
    cout << "Введите количество строк (N): ";
    cin >> N;
    cout << "Введите количество столбцов (M): ";
    cin >> M;

    int A[N][M];
    cout << "Введите элементы матрицы " << N << "x" << M << ":" << endl;
    for (int i = 0; i < N; i++) {
        for (int j = 0; j < M; j++) {
            cin >> A[i][j];
        }
    }

    cout << "Исходная матрица:" << endl;
    for (int i = 0; i < N; i++) {
        for (int j = 0; j < M; j++) {
            cout << A[i][j] << " ";
        }
        cout << endl;
    }

    for (int j = 0; j < M; j++) {
        int minIndex = -1;
        int minElement = INT_MAX;
        int maxElement = INT_MIN;

        // Найти минимальный элемент и его индекс в столбце
        for (int i = 0; i < N; i++) {
            if (A[i][j] < minElement) {
                minElement = A[i][j];
                minIndex = i;
            }
        }

        // Проверка, находится ли минимальный элемент во второй половине столбца
        if (minIndex >= N / 2) {
            // Найти максимальный элемент в столбце
            for (int i = 0; i < N; i++) {
                if (A[i][j] > maxElement) {
                    maxElement = A[i][j];
                }
            }

            // Возвести максимальный элемент в куб
            for (int i = 0; i < N; i++) {
                if (A[i][j] == maxElement) {
                    A[i][j] = maxElement * maxElement * maxElement;
                }
            }
        }
    }

    cout << "Преобразованная матрица:" << endl;
    for (int i = 0; i < N; i++) {
        for (int j = 0; j < M; j++) {
            cout << A[i][j] << " ";
        }
        cout << endl;
    }

    return 0;
}