В некоторых задачах необходимо ввести элементы массива, но при этом сколько элементов не задано точно, кроме этого нужно считывать только данные с одной строки (например, список вершин графа). Как считать до конца строки, т.е. когда нажата клавиша Enter?
int n,a;
cin>>n; //кол-во вершин
vector <int> A[n]; //список смежных вершин
for(int i=0;i<n;i++)
{
do{
cin>>a;
A[i].push_back(a);
}while(cin.get()!=10);//если после числа не Enter, но может быть пробел
}
Получается разреженная матрица:
for (int i=0; i<n; i++)
{
for(int j=0; j<A[i].size(); j++)
cout<<A[i][j]<<" ";
cout<< endl;
}
int n,a;
cin>>n; //кол-во вершин
vector <int> A[n]; //список смежных вершин
for(int i=0;i<n;i++)
{
do{
cin>>a;
A[i].push_back(a);
}while(cin.get()!=10);//если после числа не Enter, но может быть пробел
}
Получается разреженная матрица:
for (int i=0; i<n; i++)
{
for(int j=0; j<A[i].size(); j++)
cout<<A[i][j]<<" ";
cout<< endl;
}
Комментариев нет:
Отправить комментарий