В двумерном числовом массиве заменить все нечетные элементы на число X
помогите пожалуйста с задачкой на С++ "В двумерном числовом массиве заменить все нечетные элементы на число X". Буду премного благодарен!))
Код:
//Компилировать с поддержкой C++11
#include <vector>
#include <algorithm>
#include <iterator>
#include <iostream>
typedef std::vector<std::vector<int>> vec2d;
int main() {
int x = 0; //заменитель
//исходная матрица
vec2d vec = {
{1,2,3,4,5},
{6,7,8,9,0}
};
for(auto &i : vec)
std::replace_if(i.begin(), i.end(), [](int d) {return d%2;}, x);
//проверка
for(auto &i : vec) {
std::copy(i.begin(), i.end(), std::ostream_iterator<int>(std::cout));
std::cout << std::endl;
}
return 0;
}
#include <vector>
#include <algorithm>
#include <iterator>
#include <iostream>
typedef std::vector<std::vector<int>> vec2d;
int main() {
int x = 0; //заменитель
//исходная матрица
vec2d vec = {
{1,2,3,4,5},
{6,7,8,9,0}
};
for(auto &i : vec)
std::replace_if(i.begin(), i.end(), [](int d) {return d%2;}, x);
//проверка
for(auto &i : vec) {
std::copy(i.begin(), i.end(), std::ostream_iterator<int>(std::cout));
std::cout << std::endl;
}
return 0;
}
огромное спасибо !
Да мне то не трудно, вот вам то как будет объяснять преподу решение :))
это проблема будущего меня, не завидую ему !
заставят переделывать STL:)