#include <bits/stdc++.h>
using namespace std;
void moveNToEnd(vector<int>* numbers, int target_number){
int n_target = count(numbers->begin(), numbers->end(), target_number);
numbers->erase(remove(numbers->begin(), numbers->end(), target_number), numbers->end());
numbers->insert(numbers->end(), n_target, target_number);
cout << "Answer: [";
for(auto it = numbers->begin(); it != numbers->end(); ++it){
if(it != numbers->begin()){
cout << ",";
}
cout << *it;
}
cout << "]";
}
int main(){
vector<int> numbers;
string input;
int temp_num, target_num;
cout << "Enter list of numbers separated by commas (e.g., 10,20,30,40): ";
getline(cin, input);
stringstream ss(input);
while (ss >> temp_num){
numbers.push_back(temp_num);
if(ss.peek() == ','){
ss.ignore();
}
}
cout << "Enter the target number that you want to move to the end: ";
cin >> target_num;
moveNToEnd(&numbers, target_num);
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgp2b2lkIG1vdmVOVG9FbmQodmVjdG9yPGludD4qIG51bWJlcnMsIGludCB0YXJnZXRfbnVtYmVyKXsKCiAgICBpbnQgbl90YXJnZXQgPSBjb3VudChudW1iZXJzLT5iZWdpbigpLCBudW1iZXJzLT5lbmQoKSwgdGFyZ2V0X251bWJlcik7CiAgICBudW1iZXJzLT5lcmFzZShyZW1vdmUobnVtYmVycy0+YmVnaW4oKSwgbnVtYmVycy0+ZW5kKCksIHRhcmdldF9udW1iZXIpLCBudW1iZXJzLT5lbmQoKSk7CiAgICBudW1iZXJzLT5pbnNlcnQobnVtYmVycy0+ZW5kKCksIG5fdGFyZ2V0LCB0YXJnZXRfbnVtYmVyKTsKCiAgICBjb3V0IDw8ICJBbnN3ZXI6IFsiOwoKICAgIGZvcihhdXRvIGl0ID0gbnVtYmVycy0+YmVnaW4oKTsgaXQgIT0gbnVtYmVycy0+ZW5kKCk7ICsraXQpewogICAgICAgIGlmKGl0ICE9IG51bWJlcnMtPmJlZ2luKCkpewogICAgICAgICAgICBjb3V0IDw8ICIsIjsKICAgICAgICB9CiAgICAgICAgY291dCA8PCAqaXQ7CiAgICB9CgogICAgY291dCA8PCAiXSI7Cgp9CgppbnQgbWFpbigpewogICAgdmVjdG9yPGludD4gbnVtYmVyczsKICAgIHN0cmluZyBpbnB1dDsKICAgIGludCB0ZW1wX251bSwgdGFyZ2V0X251bTsKCiAgICBjb3V0IDw8ICJFbnRlciBsaXN0IG9mIG51bWJlcnMgc2VwYXJhdGVkIGJ5IGNvbW1hcyAoZS5nLiwgMTAsMjAsMzAsNDApOiAiOwogICAgZ2V0bGluZShjaW4sIGlucHV0KTsKICAgIHN0cmluZ3N0cmVhbSBzcyhpbnB1dCk7CgogICAgd2hpbGUgKHNzID4+IHRlbXBfbnVtKXsKICAgICAgICBudW1iZXJzLnB1c2hfYmFjayh0ZW1wX251bSk7CiAgICAgICAgaWYoc3MucGVlaygpID09ICcsJyl7CiAgICAgICAgICAgIHNzLmlnbm9yZSgpOwogICAgICAgIH0KICAgIH0KCiAgICBjb3V0IDw8ICJFbnRlciB0aGUgdGFyZ2V0IG51bWJlciB0aGF0IHlvdSB3YW50IHRvIG1vdmUgdG8gdGhlIGVuZDogIjsKICAgIGNpbiA+PiB0YXJnZXRfbnVtOwoKICAgIG1vdmVOVG9FbmQoJm51bWJlcnMsIHRhcmdldF9udW0pOwoKICAgIHJldHVybiAwOwp9
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]