#include <iostream>
#include <array>
#include <vector>
#include <ctime>
#include <algorithm>
const size_t COL = 6;
const size_t ROW = 7;
using Matrix = std::array<std::array<int, COL>, ROW>;
int main() {
Matrix mask = {{
{ { 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 1 } },
{ { 0, 0, 0, 0, 1, 0 } },
{ { 1, 1, 1, 1, 0, 0 } },
{ { 0, 0, 0, 0, 1, 0 } },
{ { 0, 0, 0, 0, 0, 1 } },
{ { 0, 0, 0, 0, 0, 0 } }
}};
Matrix arr;
std::srand(std::time(0));
for (auto &i : arr) {
std::generate(i.begin(), i.end(), []() { return std::rand() % 10; });
}
for (auto i : arr) {
for (auto j : i) {
std::cout << j << " ";
}
std::cout << std::endl;
}
std::vector<int> data;
for (int i = 0; i < ROW; i++) {
for (int j = 0; j < COL; j++) {
if (mask[i][j] != 0 && arr[i][j] % 2 == 0) {
data.push_back(arr[i][j]);
}
}
}
if (data.empty()) {
std::cout << "No elements" << std::endl;
} else {
std::cout << "Max element = " << *std::max_element(data.begin(), data.end()) << std::endl;
}
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8YXJyYXk+CiNpbmNsdWRlIDx2ZWN0b3I+CiNpbmNsdWRlIDxjdGltZT4KI2luY2x1ZGUgPGFsZ29yaXRobT4KCmNvbnN0IHNpemVfdCBDT0wgPSA2Owpjb25zdCBzaXplX3QgUk9XID0gNzsKdXNpbmcgTWF0cml4ID0gc3RkOjphcnJheTxzdGQ6OmFycmF5PGludCwgQ09MPiwgUk9XPjsKCmludCBtYWluKCkgewoJTWF0cml4IG1hc2sgPSB7ewoJCXsgeyAwLCAwLCAwLCAwLCAwLCAwIH0gfSwKCQl7IHsgMCwgMCwgMCwgMCwgMCwgMSB9IH0sCgkJeyB7IDAsIDAsIDAsIDAsIDEsIDAgfSB9LAoJCXsgeyAxLCAxLCAxLCAxLCAwLCAwIH0gfSwKCQl7IHsgMCwgMCwgMCwgMCwgMSwgMCB9IH0sCgkJeyB7IDAsIDAsIDAsIDAsIDAsIDEgfSB9LAoJCXsgeyAwLCAwLCAwLCAwLCAwLCAwIH0gfQoJfX07CgoJTWF0cml4IGFycjsKCXN0ZDo6c3JhbmQoc3RkOjp0aW1lKDApKTsKCWZvciAoYXV0byAmaSA6IGFycikgewoJCXN0ZDo6Z2VuZXJhdGUoaS5iZWdpbigpLCBpLmVuZCgpLCBbXSgpIHsgcmV0dXJuIHN0ZDo6cmFuZCgpICUgMTA7IH0pOwoJfQoKCWZvciAoYXV0byBpIDogYXJyKSB7CgkJZm9yIChhdXRvIGogOiBpKSB7CgkJCXN0ZDo6Y291dCA8PCBqIDw8ICIgIjsKCQl9CgkJc3RkOjpjb3V0IDw8IHN0ZDo6ZW5kbDsKCX0KCglzdGQ6OnZlY3RvcjxpbnQ+IGRhdGE7Cglmb3IgKGludCBpID0gMDsgaSA8IFJPVzsgaSsrKSB7CgkJZm9yIChpbnQgaiA9IDA7IGogPCBDT0w7IGorKykgewoJCQlpZiAobWFza1tpXVtqXSAhPSAwICYmIGFycltpXVtqXSAlIDIgPT0gMCkgewoJCQkJZGF0YS5wdXNoX2JhY2soYXJyW2ldW2pdKTsKCQkJfQoJCX0KCX0KCglpZiAoZGF0YS5lbXB0eSgpKSB7CgkJc3RkOjpjb3V0IDw8ICJObyBlbGVtZW50cyIgPDwgc3RkOjplbmRsOwoJfSBlbHNlIHsKCQlzdGQ6OmNvdXQgPDwgIk1heCBlbGVtZW50ID0gIiA8PCAqc3RkOjptYXhfZWxlbWVudChkYXRhLmJlZ2luKCksIGRhdGEuZW5kKCkpIDw8IHN0ZDo6ZW5kbDsKCX0KfQ==