fork download
  1. #include <iostream>
  2. #include <string>
  3. #include <typeinfo>
  4. #include <vector>
  5. #include <algorithm>
  6.  
  7. using namespace std;
  8.  
  9. class movement
  10. {
  11. private:
  12. static const int MAX_ROW_PER_TRACKER = 100;
  13. static const int MIN_TO_START_CALC = 30;
  14. static const int MAX_TRACKERS = 20;
  15.  
  16. struct tracker
  17. {
  18. int id;
  19. double a[MAX_ROW_PER_TRACKER];
  20. double b[MAX_ROW_PER_TRACKER];
  21. double c;
  22. };
  23. vector<int> trackersOrder;
  24. tracker* trackersArr[MAX_TRACKERS];
  25.  
  26. public:
  27. movement();
  28. void addRow(int a, int b, int c);
  29. ~movement();
  30. };
  31.  
  32. movement::movement() : trackersOrder(MAX_TRACKERS)
  33. {
  34. }
  35.  
  36. void movement::addRow(int id, int a, int b)
  37. {
  38. int index;
  39. auto searchID = find(trackersOrder.begin(), trackersOrder.end(), id);
  40. if (searchID == trackersOrder.end())
  41. {
  42. auto freeLocation = find(trackersOrder.begin(), trackersOrder.end(), 0);
  43. index = freeLocation - trackersOrder.begin();
  44. trackersOrder.insert(trackersOrder.begin() + index, id);
  45. trackersArr[index] = new tracker;
  46. trackersArr[index]->id = id;
  47. trackersArr[index]->a[0] = a;
  48. trackersArr[index]->b[0] = b;
  49. trackersArr[index]->c = 0;
  50. }
  51.  
  52. }
  53.  
  54. movement::~movement()
  55. {
  56. }
  57.  
  58. int main() {
  59. movement m;
  60. }
Success #stdin #stdout 0s 3408KB
stdin
Standard input is empty
stdout
Standard output is empty