Буду очень благодарен за решение этой задачи. (С++,консольное)
Примечание :
использовать двумерный вектор - а не обычный массив типа mass[][];
Но если с этим трудности то в крайнем случае используйте обычный массив , а я уже переделаю под вектора.
Задание :
Создать динамичный двумерный вектор который заполняется случайными числами.Вывести его на экран.
Найти максимальное число и удалить строчку в котором оно находиться.Вывести полученое на экран.
Входные данные :
1 2 3
4 5 6
7 8 9
Входные :
1 2 3
4 5 6
Answers & Comments
#include <vector>
#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;
}
}