fork download
  1. #include <iostream>
  2. #include <vector>
  3. #include <iomanip>
  4.  
  5. typedef std::vector<std::vector<int>> matrix;
  6.  
  7. void split( const matrix& src, matrix& zero, matrix& one )
  8. {
  9. for( auto& v: src )
  10. {
  11. if( v[v.size()-1] == 0 ) zero.push_back(v);
  12. else one.push_back(v);
  13. }
  14. }
  15.  
  16. void print( const matrix& m )
  17. {
  18. for( auto& v: m )
  19. {
  20. for( auto& e: v )
  21. {
  22. std::cout << std::setw(5) << e;
  23. }
  24. std::cout << std::endl;
  25. }
  26. }
  27.  
  28. int main() {
  29.  
  30. matrix m = {
  31. {1, 2, 3, 4, 5, 1},
  32. {2, 3, 5, 1, 8, 0},
  33. {7, 5, 6, 1, 8, 1},
  34. {3, 6, 8, 1, 2, 0},
  35. {4, 3, 6, 7, 2, 0},
  36. {4, 3, 6, 8, 1, 1},
  37. {4, 3, 6, 8, 1, 0},
  38. {4, 3, 6, 9, 2, 1} };
  39.  
  40. matrix zero;
  41. matrix one;
  42.  
  43. split( m, zero, one );
  44.  
  45. print( zero );
  46.  
  47. std::cout << "--------------" << std::endl;
  48.  
  49. print( one );
  50.  
  51. return 0;
  52. }
Success #stdin #stdout 0s 2988KB
stdin
Standard input is empty
stdout
    2    3    5    1    8    0
    3    6    8    1    2    0
    4    3    6    7    2    0
    4    3    6    8    1    0
--------------
    1    2    3    4    5    1
    7    5    6    1    8    1
    4    3    6    8    1    1
    4    3    6    9    2    1