Не проходите мимо) Нужно написать программу ** С++ (консоль) .Использовать двумерный...

0 голосов
29 просмотров

Не проходите мимо)
Нужно написать программу на С++ (консоль) .Использовать двумерный вектор,а не обычный массив.



Дано динамичный двумерный массив (вектор) который заполняется случайными числами.И выводит их на экран.Ищет максимальное число и удаляет строку в которой оно находиться и выводит на экран что осталось.
Пример :
Входные:
1 2 3
4 5 6
7 8 9

Выходные:
1 2 3
4 5 6

Буду очень благодарен за решение)


Информатика (306 баллов) | 29 просмотров
Дан 1 ответ
0 голосов

//Microsoft (R) C/C++ Optimizing Compiler Version 19.00.23506 for x64

#include
#include
#include
#include
#include
#include
#include
using namespace std;

int main()
{
    mt19937 gen{ random_device()() };
    uniform_int_distribution<> uid(1, 100);
    vector> v2d(3, vector(3));
    int max_i;
    for_each(v2d.begin(), v2d.end(), [&max_i, &uid, &gen](vector& v) {
            generate(v.begin(), v.end(), [&uid, &gen]() { return uid(gen); });
            max_i = max(*max_element(v.begin(), v.end()), max_i);
        });
    cout << endl;<br>    v2d.erase(remove_if(v2d.begin(), v2d.end(), [&max_i](vector& v) {
        return find(v.begin(), v.end(), max_i) != v.end();
    }), v2d.end());
    for (const auto& i : v2d)
    {
        copy(i.begin(), i.end(), ostream_iterator(cout, " "));
        cout << endl;<br>    }
}

(4.2k баллов)