Advertisement
kirill1920

1

Jul 12th, 2020
49
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.77 KB | None | 0 0
  1. #include<iostream>
  2. #include<string>
  3. #include<vector>
  4. using namespace std;
  5.  
  6. /*
  7. We going data to stream &ostream
  8. */
  9. void dump(const vector<vector<string>>& data) {
  10.     int day;
  11.     cin >> day;
  12.     for (auto s : data[day - 1]) {
  13.         cout << s << ' ';
  14.     }
  15. }
  16. /*
  17. We added new string for section vector with index [day-1]
  18. */
  19. void add(vector<vector<string>>& data) {
  20.     int day;
  21.     string work;
  22.     cin >> day >> work;
  23.     data[day - 1].push_back(work);
  24. }
  25. void next(vector<vector<string>>& data, const vector<int>& month, int& mi) {
  26.     if (mi == 11) {//If year is ended, we defined new month
  27.         mi = 0;
  28.     }
  29.     else if (mi != 11) {
  30.         ++mi;
  31.     }
  32.     if (month[mi] >= month[mi - 1]) {//if new month has a bigger index, we only using resize
  33.         data.resize(month[mi]);
  34.     }
  35.     else {
  36.         vector<string> temp;
  37.         int diff = month[mi - 1] - month[mi];//search, a lot of many indexating vectors are diffirence
  38.         for (int i = 0; i < diff; ++i) {
  39.             /*
  40.             !!!!!!!!!!!!!!!!!!!1
  41.             In this code we not have a data on vector temp
  42.             */
  43.             for (auto& s : data[month[mi] - 1 - i]) {
  44.                 temp.push_back(s);
  45.             }
  46.         }
  47.         //???????????
  48.     for (auto s : temp) {
  49.         cout << s << ' ';
  50.     }
  51.     }
  52.  
  53. }
  54. int main() {
  55.     /*****************
  56.     Declaration using variables on upper function
  57.     *********************************/
  58.     vector<vector<string>> data(31);
  59.     int mi = 0;
  60.     const vector<int> month = { 31,28,31,30,31,30,31,31,30,31,30,31 };
  61.     /*****************************
  62.     Declarate template variables for select work code
  63.     *********************/
  64.     int n;
  65.     string sel;
  66.     cin >> n;
  67.     /*************************************************/
  68.     for (int i = 0; i < n; ++i) {
  69.         cin >> sel;
  70.         if (sel == "ADD") {
  71.             add(data);
  72.         }
  73.         else if (sel == "DUMP") {
  74.             dump(data);
  75.         }
  76.         else if (sel == "NEXT") {
  77.             next(data, month, mi);
  78.         }
  79.     }
  80. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement