fork download
  1. #include <iostream>
  2. #include <array>
  3. #include <vector>
  4. #include <ctime>
  5. #include <algorithm>
  6.  
  7. const size_t COL = 6;
  8. const size_t ROW = 7;
  9. using Matrix = std::array<std::array<int, COL>, ROW>;
  10.  
  11. int main() {
  12. Matrix mask = {{
  13. { { 0, 0, 0, 0, 0, 0 } },
  14. { { 0, 0, 0, 0, 0, 1 } },
  15. { { 0, 0, 0, 0, 1, 0 } },
  16. { { 1, 1, 1, 1, 0, 0 } },
  17. { { 0, 0, 0, 0, 1, 0 } },
  18. { { 0, 0, 0, 0, 0, 1 } },
  19. { { 0, 0, 0, 0, 0, 0 } }
  20. }};
  21.  
  22. Matrix arr;
  23. std::srand(std::time(0));
  24. for (auto &i : arr) {
  25. std::generate(i.begin(), i.end(), []() { return std::rand() % 10; });
  26. }
  27.  
  28. for (auto i : arr) {
  29. for (auto j : i) {
  30. std::cout << j << " ";
  31. }
  32. std::cout << std::endl;
  33. }
  34.  
  35. std::vector<int> data;
  36. for (int i = 0; i < ROW; i++) {
  37. for (int j = 0; j < COL; j++) {
  38. if (mask[i][j] != 0 && arr[i][j] % 2 == 0) {
  39. data.push_back(arr[i][j]);
  40. }
  41. }
  42. }
  43.  
  44. if (data.empty()) {
  45. std::cout << "No elements" << std::endl;
  46. } else {
  47. std::cout << "Max element = " << *std::max_element(data.begin(), data.end()) << std::endl;
  48. }
  49. }
Success #stdin #stdout 0s 3476KB
stdin
Standard input is empty
stdout
7 5 8 5 8 5 
4 1 4 6 6 0 
9 0 9 5 6 9 
6 8 0 0 9 6 
0 9 2 8 6 7 
8 3 4 8 1 4 
3 5 6 7 3 4 
Max element = 8