Подскажите решение задачи на С++ : Всё элементы, расположенные правее от столбца, содержащего максимальный элемент матрицы, увеличить на минимальный элемент матрицы.
Zeeviil Для решения этой задачи на C++ нам нужно выполнить следующие шаги: 1. Создайте двумерный массив (матрицу) и заполните его случайными числами. 2. Найдите максимальный элемент в матрице и запомните его индекс столбца. 3. Найдите минимальный элемент в матрице. 4. Пройдитесь по всем элементам матрицы, начиная с столбца, следующего за столбцом с максимальным элементом. 5. Увеличьте каждый элемент на значение минимального элемента. Вот пример кода, реализующего это решение: #include <iostream> #include <cstdlib> #include <ctime> const int ROWS = 3; const int COLS = 3; void printMatrix(int matrix[ROWS][COLS]) { for (int i = 0; i < ROWS; i++) { for (int j = 0; j < COLS; j++) { std::cout << matrix[i][j] << " "; } std::cout << std::endl; } } int main() { // Инициализация генератора случайных чисел std::srand(std::time(0)); int matrix[ROWS][COLS]; // Заполнение матрицы случайными числами for (int i = 0; i < ROWS; i++) { for (int j = 0; j < COLS; j++) { matrix[i][j] = std::rand() % 10; } } // Вывод исходной матрицы std::cout << "Исходная матрица:" << std::endl; printMatrix(matrix); // Поиск максимального элемента и его столбца int maxElement = matrix[0][0]; int maxColumn = 0; for (int j = 1; j < COLS; j++) { if (matrix[0][j] > maxElement) { maxElement = matrix[0][j]; maxColumn = j; } } // Поиск минимального элемента int minElement = matrix[0][0]; for (int i = 0; i < ROWS; i++) { for (int j = 0; j < COLS; j++) { if (matrix[i][j] < minElement) { minElement = matrix[i][j]; } } } // Увеличение элементов правее столбца с максимальным элементом for (int i = 0; i < ROWS; i++) { for (int j = maxColumn + 1; j < COLS; j++) { matrix[i][j] += minElement; } } // Вывод измененной матрицы std::cout << "Измененная матрица:" << std::endl; printMatrix(matrix); return 0; } CPP #include <iostream> #include <cstdlib> #include <ctime> const int ROWS = 3; const int COLS = 3; void printMatrix(int matrix[ROWS][COLS]) { for (int i = 0; i < ROWS; i++) { for (int j = 0; j < COLS; j++) { std::cout << matrix[i][j] << " "; } std::cout << std::endl; } } int main() { // Инициализация генератора случайных чисел std::srand(std::time(0)); int matrix[ROWS][COLS]; // Заполнение матрицы случайными числами for (int i = 0; i < ROWS; i++) { for (int j = 0; j < COLS; j++) { matrix[i][j] = std::rand() % 10; } } // Вывод исходной матрицы std::cout << "Исходная матрица:" << std::endl; printMatrix(matrix); // Поиск максимального элемента и его столбца int maxElement = matrix[0][0]; int maxColumn = 0; for (int j = 1; j < COLS; j++) { if (matrix[0][j] > maxElement) { maxElement = matrix[0][j]; maxColumn = j; } } // Поиск минимального элемента int minElement = matrix[0][0]; for (int i = 0; i < ROWS; i++) { for (int j = 0; j < COLS; j++) { if (matrix[i][j] < minElement) { minElement = matrix[i][j]; } } } // Увеличение элементов правее столбца с максимальным элементом for (int i = 0; i < ROWS; i++) { for (int j = maxColumn + 1; j < COLS; j++) { matrix[i][j] += minElement; } } // Вывод измененной матрицы std::cout << "Измененная матрица:" << std::endl; printMatrix(matrix); return 0; } Этот код создает матрицу размером 3x3, заполняет ее случайными числами, находит максимальный элемент и его столбец, находит минимальный элемент и увеличивает все элементы правее столбца с максимальным элементом на значение минимального элемента. Результат выводится на экран. Надеюсь, это поможет! Если у вас возникнут еще вопросы, не стесняйтесь задавать.