Помогите с двумерным массивом, пж!

Дана матрица B[N,M]. Найти в каждой строчке матрицы максимальный и минимальный элемент и поменять их местами первым и последним элементам строки соответственно.(заранее спасибо!!!)
Через randomize( чтоб выводилась рандомная, а рядом как она поменялась) и по-простенькому)

#include <iostream>
#include <vector>
#include <algorithm>


int main()
{
    std::vector<std::vector<int>> matrix = {
        {6, 4, 8, 3, 2 ,6 ,7},
        {8, 5, 3, 9, 1, 4, 8},
        {8, 4, 7, 1, 9, 0, 4},
    };

    std::for_each(
        matrix.begin(), 
        matrix.end(),
        [] (std::vector<int> &row) {
            if (row.empty()) {
                return;
            }
            auto minmax = std::minmax_element(row.begin(), row.end());
            std::iter_swap(row.end() - 1, minmax.first);
            std::iter_swap(row.begin(), minmax.second);
        }
    );
    for(auto &row: matrix) {
        for(auto e: row) {
            std::cout << e << " ";
        }
        std::cout << std::endl;
    }
}

http://rextester.com/PEHRRU28156

Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.

Ответить

Вы можете использовать разметку markdown для оформления комментариев и постов. Используйте функцию предпросмотра для проверки корректности разметки.

Пожалуйста, оформляйте исходный код в соответствии с правилами разметки. Для того, чтобы вставить код в комментарий, скопируйте его в текстовое поле ниже, после чего выделите то, что скопировали и нажмите кнопку «код» в панели инструментов. Иначе ваш код может принять нечитаемый вид.

Либо производите оформление кода вручную, следующим образом:

``` #include <iostream> using namespace std; int main() { // ... } ```

Предпросмотр сообщения

Ваше сообщение пусто.