Мне нужно написать программу, которая читает с клавиатуры строку чисел и сохраняет их в массиве, цифры должны быть написаны просто в строке, я написал это, но не работает из-за бесконечного цикла, какого-либо предложения?Чтение номеров ввода, разделенных пробелом, и сохранение в массив
int main() {
int numCasos = 0, contNumCasos = 0, numElem = 0;
string aux;
cout << "Number of cases: " << endl;
cin >> numCasos;
while (contNumCasos < numCasos) {
cout << "Number of elements: " << endl;
cin >> numElem;
cout << "Enter the Elements separated by space: " << endl;
cin.ignore();
vector.cont = 0;
int i = 0;
while ((vector.cont < numElem) && getline(cin,aux,' ')){
vector.v[i] = stoi(aux);
vector.cont++;
i++;
}
}
cout << sumaBuenos(vector) << endl;
cin.ignore();
system("pause");
return 0;
}
Пример:
консоли: Количество элементов:
пользователя: 4
консоли: введите элементы, разделенные пробелами:
пользователя: 2 43 65 56
- это должен быть вектор
- vector.v [0] = 2
- vector.v [1] = 43
- vector.v [2] = 65
- vector.v [3] = 56
Кажется довольно многословен заменителем 'станд: вектор ввода {станд :: istream_iterator (станд: : cin), std :: istream_iterator ()}; ' –
Поиск в Интернете возможных дубликатов:' stackoverflow C++ read file vector space separate'. –
Я искал, но решения, которые они дали, это прочитать из файла, мне нужно прочитать с клавиатуры – kriptor