fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. void moveNToEnd(vector<int>* numbers, int target_number){
  5.  
  6. int n_target = count(numbers->begin(), numbers->end(), target_number);
  7. numbers->erase(remove(numbers->begin(), numbers->end(), target_number), numbers->end());
  8. numbers->insert(numbers->end(), n_target, target_number);
  9.  
  10. cout << "Answer: [";
  11.  
  12. for(auto it = numbers->begin(); it != numbers->end(); ++it){
  13. if(it != numbers->begin()){
  14. cout << ",";
  15. }
  16. cout << *it;
  17. }
  18.  
  19. cout << "]";
  20.  
  21. }
  22.  
  23. int main(){
  24. vector<int> numbers;
  25. string input;
  26. int temp_num, target_num;
  27.  
  28. cout << "Enter list of numbers separated by commas (e.g., 10,20,30,40): ";
  29. getline(cin, input);
  30. stringstream ss(input);
  31.  
  32. while (ss >> temp_num){
  33. numbers.push_back(temp_num);
  34. if(ss.peek() == ','){
  35. ss.ignore();
  36. }
  37. }
  38.  
  39. cout << "Enter the target number that you want to move to the end: ";
  40. cin >> target_num;
  41.  
  42. moveNToEnd(&numbers, target_num);
  43.  
  44. return 0;
  45. }
Success #stdin #stdout 0.01s 5292KB
stdin
0,2,0,3,10
0
stdout
Enter list of numbers separated by commas (e.g., 10,20,30,40): Enter the target number that you want to move to the end: Answer: [2,3,10,0,0]