Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <vector>
- using namespace std;
- void Mat(vector<vector<bool>> mat1, vector<vector<bool>> mat2, vector<vector<char>>& vec, string str);
- int main()
- {
- int a, b;
- cin >> a >> b;
- vector<vector<bool>> vec;//{ b1,vector<bool>(a1) };
- vector<vector<bool>> vec2;//{ b1,vector<bool>(a1) };
- for (int i = 0; i != b; i++) {
- string str;
- cin >> str;
- vec.push_back(vector<bool>());
- for (int k = 0; k != str.size(); k++) {
- vec[i].push_back(bool());
- const char t = str[k];
- vec[i][k] = atoi(&t);
- }
- }
- for (int i = 0; i != b; i++) {
- string str;
- cin >> str;
- vec2.push_back(vector<bool>());
- for (int k = 0; k != str.size(); k++) {
- vec2[i].push_back(bool ());
- const char t = str[k];
- vec2[i][k] = atoi(&t);
- }
- }
- vector<vector<char>> vec3{vec.size(),vector<char>(vec[0].size())};
- string out;
- cin >> out;
- Mat(vec, vec2, vec3, out);
- for (auto i = vec3.begin(); i != vec3.end(); i++) {
- for (auto j = (*i).begin(); j != (*i).end(); j++) {
- cout << (*j);
- }
- cout << endl;
- }
- }
- //вообще все существующие варианты можно было бы перебрать за счет лог операций, ведь все возможные случаи там и описаны
- //но мне хочется велосипед изобрести
- void Mat(vector<vector<bool>> mat1, vector<vector<bool>> mat2, vector<vector<char>>& vec, string str) {
- for (int i = 0;i!=mat1.size();i++)
- for (int q = 0; q != mat1[i].size(); q++) {
- if (mat1[i][q] == 0) {
- if (mat2[i][q] == 0) {vec[i][q] = str[0];}
- else {vec[i][q] = str[1];}
- }
- else {
- if (mat2[i][q] == 0) {vec[i][q] = str[2];}
- else {vec[i][q] = str[3];}
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment