Guest User

Untitled

a guest
Jul 21st, 2018
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.68 KB | None | 0 0
  1. std::vector< std::vector<int> > my2dArray;
  2.  
  3. std::vector<int> mySizes;
  4. for (int i = 0; i < my2dArray.size(); i++ )
  5. {
  6. mySizes.push_back( my2dArray[i].size() );
  7. }
  8.  
  9. typedef std::vector<int> IntVec;
  10. std::vector<size_t> sizes(my2dArray.size());
  11. std::transform(my2dArray.begin(), my2dArray.end(), sizes.begin(),
  12. std::mem_fun_ref(&IntVec::size));
  13.  
  14. std::vector<int> mySizes(my2dArray.size());
  15. auto getSize = [](const std::vector<int> & v) { return v.size(); };
  16. std::transform(my2dArray.begin(), my2dArray.end(), mySizes.begin(), getSize);
  17.  
  18. #include <string>
  19. #include <iostream>
  20. #include <algorithm>
  21. #include <vector>
  22.  
  23. class Sizes
  24. {
  25. public:
  26. Sizes( std::vector<int>& v ) : sizeVec( v ) {}
  27. void operator() ( std::vector<int>& v ) {
  28. sizeVec.push_back( v.size() );
  29. }
  30. std::vector<int>& sizeVec;
  31. };
  32.  
  33. void outFunc (int i) {
  34. std::cout << " " << i;
  35. }
  36. int _tmain(int argc, _TCHAR* argv[])
  37. {
  38. std::vector<std::vector<int>> twodVec;
  39.  
  40. std::vector<int> vec;
  41. vec.push_back( 6 );
  42. twodVec.push_back( vec );
  43. vec.push_back( 3 );
  44. twodVec.push_back( vec );
  45. vec.push_back( 8 );
  46. twodVec.push_back( vec );
  47. vec.push_back( 3 );
  48. twodVec.push_back( vec );
  49.  
  50. std::vector<int> sizeVec;
  51. Sizes sizes(sizeVec);
  52. std::for_each( twodVec.begin(), twodVec.end(), sizes );
  53. std::for_each( sizeVec.begin(), sizeVec.end(), outFunc );
  54.  
  55. return 0;
  56. }
  57.  
  58. class Sizes
  59. {
  60. public:
  61. void operator() ( std::vector<int>& v ) {
  62. sizeVec.push_back( v.size() );
  63. }
  64. std::vector<int> sizeVec;
  65. };
  66.  
  67. Sizes sizes;
  68. sizes = std::for_each( twodVec.begin(), twodVec.end(), sizes );
  69. std::for_each( sizes.sizeVec.begin(), sizes.sizeVec.end(), outFunc );
Add Comment
Please, Sign In to add comment