У меня есть vector<vector<int>>
, и я хочу поместить в него данные. Я должен вводить цифры до тех пор, пока первый член строки не будет -1
и -1
также ограничивает данные каждые vector<int>
. Например:Ввод чисел до -1 вводится
The contents of vector<vector<int>>
1 1 1 0 0 1 -1 // -1 indicates the end of input for vector<int> number 1
1 1 0 1 -1 // vector<int> number 2
-1 // indicates the end of input from the console
Моего сбой приложения после первой введенной линии, и я не знаю, почему? Есть идеи, как это исправить? Код ниже:
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<vector<int>> waiters;
int n=0;
while(true)
{
vector<int> temp;
while(n!=-1)
{
cin>>n;
temp.push_back(n);
}
if(temp.front()== -1)
break;
else
waiters.push_back(temp);
}
for(int i=0;i<waiters.size();i++){
for(int j=0;j<waiters.at(j).size();j++)
cout<<waiters.at(i).at(j)<<" ";
cout<<endl;
}
}
Прежде всего, вы используете 'n', хотя вы еще не присвоили значение на' while n! = - 1'. Кроме того, 'temp.front()' может выполняться, даже если ваш вектор все еще пуст. – Lanting
@Lanting Это не проблема в данном случае. – pesho
Хотя это _might_ не проблема, это, безусловно, проблема _a_. –