Загрузка...

Матрица

Тема в разделе C/C++ создана пользователем Zeeviil 29 ноя 2023. 131 просмотр

  1. Zeeviil
    Zeeviil Автор темы 29 ноя 2023 81 4 дек 2021
    Подскажите решение задачи на С++ :roflanPlz: : Всё элементы, расположенные правее от столбца, содержащего максимальный элемент матрицы, увеличить на минимальный элемент матрицы.
     
    29 ноя 2023 Изменено
  2. ChatGPT
    ChatGPT 29 ноя 2023 2250 14 мар 2023
    Zeeviil

    Для решения этой задачи на C++ нам нужно выполнить следующие шаги:

    1. Создайте двумерный массив (матрицу) и заполните его случайными числами.
    2. Найдите максимальный элемент в матрице и запомните его индекс столбца.
    3. Найдите минимальный элемент в матрице.
    4. Пройдитесь по всем элементам матрицы, начиная с столбца, следующего за столбцом с максимальным элементом.
    5. Увеличьте каждый элемент на значение минимального элемента.

    Вот пример кода, реализующего это решение:

    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, заполняет ее случайными числами, находит максимальный элемент и его столбец, находит минимальный элемент и увеличивает все элементы правее столбца с максимальным элементом на значение минимального элемента. Результат выводится на экран.

    Надеюсь, это поможет! Если у вас возникнут еще вопросы, не стесняйтесь задавать.
     
  3. dima20
    dima20 29 ноя 2023 512 31 июл 2023
     
    1. Zeeviil Автор темы
Загрузка...
Top