Nieskończona tablica + odwracanie jej zawartości

0

Witam mam problem ponieważ stworzyłem coś takiego:

#include <iostream>
#include <vector>

using namespace std;

vector <int> tab;
int x=0;

int main()
{
    for(int a=0; a < tab.size()+1; a++)
    {
    cin>>x;
    tab.push_back(x);
    }
    int i=tab.size();
    while(i>0)
    {
        cout<<tab[i-1]<<" ";
        i--;
    }
    return 0;
}

Nie mam pojęcia jednak jak przerwać nieskończoną pętlę wczytującą cyfry... Próbowałem z kbhit i getch ale nie działa. Jeżeli ktoś może pomóc albo zna lepsze nieskończone wczytywanie chętnie skorzystam. Program tworzony do zadania ze SPOJ-a https://pl.spoj.com/problems/TABLICA/.

2

taka pętla jest o wiele wygodniejsza. Przerywa się jeśli strumień wejścia zwróci false (czyli zamiast liczby podasz np. znak):

while(std::cin >> x)
    tab.push_back(x);

1 użytkowników online, w tym zalogowanych: 0, gości: 1