Advertisement
Guest User

Untitled

a guest
Mar 27th, 2017
171
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.30 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. #include <array>
  4. #include <random>
  5. #include <time.h>
  6. #include <list>
  7. #include <string>
  8.  
  9. using namespace std;
  10.  
  11. int main() {
  12.     srand(time(NULL));
  13.     /* part 1 */
  14.     vector<array<int, 4> > VecArr;
  15.     for (int i = 0; i < 1000; ++i) {
  16.         VecArr.push_back(array<int, 4>());
  17.         for (int j = 0; j < 4; ++j) {
  18.             VecArr[i][j] = rand() % 10;
  19.         }
  20.     }
  21.     cout << "Part 1 - all elements of VecArr got the values\n";
  22.  
  23.     /* part 2 */
  24.     vector<int> valid;
  25.  
  26.     for (int k = 0; k < 250; ++k) {
  27.         int s = 0;
  28.         for (int i = k * 4; i < k * 4 + 4; ++i) {
  29.             for (int j = 0; j < 4; ++j) {
  30.                 if (j % 2 == 0) {
  31.                     int tmp = VecArr[i][j] * 2;
  32.                     if (tmp > 9) {
  33.                         tmp = 1 + (tmp % 10);
  34.                     }
  35.                     s += tmp;
  36.                 } else {
  37.                     s += VecArr[i][j];
  38.                 }
  39.             }
  40.         }
  41.         if (s % 10 == 0) {
  42.             cout << "Card #" << k << ' ';
  43.             for (int i = k * 4; i < k * 4 + 4; ++i) {
  44.                 for (int j = 0; j < 4; ++j) {
  45.                     cout << VecArr[i][j];
  46.                 }
  47.             }
  48.             cout << "- Ok\n";
  49.             valid.push_back(k);
  50.         }
  51.     }
  52.     for (int i = valid.size() - 1; i >= 0; --i) {
  53.         for (int j = 3; j >= 0; --j) {
  54.             VecArr.erase(VecArr.begin() + (valid[i] * 4) + j);
  55.         }
  56.     }
  57.     cout << "\nThe number of fake cards is " << VecArr.size() / 4 << '\n';
  58.  
  59.     /* part 4 */
  60.     VecArr.clear();
  61.     cout << "\nPart 4 - The current size of VecArr[] equals to " << VecArr.size() << '\n';
  62.  
  63.     /* part 5 */
  64.     list<string> ListStr1
  65.             {"re*pr*esentative", "operati*o*n", "re*gr*et", "ex*am*ple", "lim*It*"};
  66.     list<string> ListStr2;
  67.     for (list<string>::iterator it = ListStr1.begin(); it != ListStr1.end(); ++it) {
  68.         size_t b = (*it).find('*');
  69.         (*it).erase((*it).begin(), (*it).begin() + b + 1);
  70.         size_t e = (*it).find('*');
  71.         (*it).erase((*it).begin() + e, (*it).end());
  72.         ListStr2.push_back(move(*it));
  73.     }
  74.  
  75.     for (list<string>::iterator it = ListStr2.begin(); it != ListStr2.end(); ++it) {
  76.         cout << *it;
  77.     }
  78.     cout << '\n';
  79. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement