fork download
  1. #include <vector>
  2. #include <string>
  3. #include <iostream>
  4. #include <algorithm>
  5. #include <iterator>
  6.  
  7. typedef std::vector<std::string> String1D;
  8. typedef std::vector<String1D> String2D;
  9.  
  10. using namespace std;
  11.  
  12. int main()
  13. {
  14. // create array C0
  15. String2D masiv_C0(3, String1D(2));
  16. masiv_C0[0][0]="AB";
  17. masiv_C0[0][1]="C";
  18. masiv_C0[1][0]="X";
  19. masiv_C0[1][1]="Z";
  20. masiv_C0[2][0]="XY";
  21. masiv_C0[2][1]="ZQ";
  22.  
  23. //create array X0
  24. String2D masiv_X0(1, String1D(2));
  25. masiv_X0[0][0]="X";
  26. masiv_X0[0][1]="Z";
  27.  
  28. //create array Y1 = C0 - X0 (remove from C0 elements X0)
  29. String2D masiv_Y1 = masiv_C0;
  30. for ( size_t i = 0; i < masiv_X0.size(); ++i)
  31. {
  32. for ( size_t j = 0; j < masiv_X0[i].size(); ++j)
  33. {
  34. auto& str = masiv_X0[i][j];
  35. for (size_t cur = 0; cur < masiv_Y1.size(); ++cur)
  36. {
  37. auto iter = std::remove(masiv_Y1[cur].begin(), masiv_Y1[cur].end(), str);
  38. masiv_Y1[cur].erase(iter, masiv_Y1[cur].end());
  39. }
  40. }
  41. }
  42.  
  43. String2D::iterator iter = masiv_Y1.begin();
  44. while (iter != masiv_Y1.end())
  45. {
  46. std::copy((*iter).begin(), (*iter).end(), std::ostream_iterator<std::string>(cout, " "));
  47. cout << "\n";
  48. ++iter;
  49. }
  50. }
Success #stdin #stdout 0s 3472KB
stdin
Standard input is empty
stdout
AB C 

XY ZQ