fork download
  1. #include <iostream>
  2. #include <vector>
  3. #include <algorithm>
  4.  
  5. using namespace std;
  6.  
  7. class book {
  8. private:
  9. int y, m, d;
  10. public:
  11. book(int y_, int m_, int d_) {
  12. y = y_;
  13. m = m_;
  14. d = d_;
  15. }
  16. int getY(){ return y; };
  17. int getM(){ return m; };
  18. int getD(){ return d; };
  19. };
  20.  
  21. // true если a<b иначе false(a>b,a>=b)
  22. bool comp(book a, book b) {
  23. if (a.getY() < b.getY()) {
  24. return true;
  25. }
  26. else if (a.getY() > b.getY()) {
  27. return false;
  28. }
  29. else if (a.getM() < b.getM()) {
  30. return true;
  31. }
  32. else if (a.getM() > b.getM()) {
  33. return false;
  34. }
  35. else if (a.getD() > b.getD()) {
  36. return false;
  37. }
  38. else if (a.getD() < b.getD()) {
  39. return true;
  40. }
  41. else {
  42. return false;
  43. }
  44. }
  45.  
  46. int main()
  47. {
  48. book b1(2020, 01, 10);
  49. book b2(2020, 02, 12);
  50. book b3(2010, 01, 10);
  51. book b4(2010, 01, 10);
  52.  
  53. vector<book> v1{ b1, b2, b3, b4 };
  54.  
  55. // сортировка
  56. sort(v1.begin(), v1.end(), comp);
  57.  
  58. // вывод
  59. for (auto i : v1) {
  60. cout << i.getD() << ':' << i.getM() << ':' << i.getY() << '\n';
  61. };
  62. }
Success #stdin #stdout 0s 4240KB
stdin
Standard input is empty
stdout
10:1:2010
10:1:2010
10:1:2020
12:2:2020