Не проходите мимо)
Нужно написать программу на С++ (консоль) .Использовать двумерный вектор,а не обычный массив.
Дано динамичный двумерный массив (вектор) который заполняется случайными числами.И выводит их на экран.Ищет максимальное число и удаляет строку в которой оно находиться и выводит на экран что осталось.
Пример :
Входные:
1 2 3
4 5 6
7 8 9
Выходные:
1 2 3
4 5 6
Буду очень благодарен за решение)
Answers & Comments
#include <vector>
#include <array>
#include <iostream>
#include <algorithm>
#include <utility>
#include <random>
#include <iterator>
using namespace std;
int main()
{
mt19937 gen{ random_device()() };
uniform_int_distribution<> uid(1, 100);
vector<vector<int>> v2d(3, vector<int>(3));
int max_i;
for_each(v2d.begin(), v2d.end(), [&max_i, &uid, &gen](vector<int>& v) {
generate(v.begin(), v.end(), [&uid, &gen]() { return uid(gen); });
max_i = max(*max_element(v.begin(), v.end()), max_i);
});
cout << endl;
v2d.erase(remove_if(v2d.begin(), v2d.end(), [&max_i](vector<int>& 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<int>(cout, " "));
cout << endl;
}
}