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