Я новичок в конкурентном программировании, и я борюсь с проблемой принятия строки целых чисел, разделенных пробелом, как входных данных в C ++ и сохранения этих целых чисел в векторе.
Изучив ответы на аналогичные вопросы по Stackoverflow, я обнаружил, что предоставленный там код занимает больше времени и места, чем основной код, необходимый для решения программной задачи, и эти фрагменты казались сложными для такой задачи. Поэтому я написал свое собственное решение и попытался распечатать сохраненные элементы вектора, которые на самом деле не работают.
#include <iostream>
#include <vector>
using namespace std;
int main(){
vector<int> A;
int tmp;
while((cin >> tmp) && (!EOF)){
A.push_back(tmp);
}
for(int i : A){
cout << i << " ";
}
return 0;
}
Я компилирую без ошибок и, кажется, работает как положено. Но как только я закончу с предоставлением последовательности целых чисел, разделенных пробелами, и нажму клавишу ВВОД, программа внезапно завершит выполнение без вывода результата. Пожалуйста, предложите любые исправления, которые я должен внести в мой код. Было бы полезно, если бы вы могли предоставить некоторую информацию о том, имеет ли C ++ что-то похожее на split () в Python. Простой фрагмент кода приветствуется.