w C++ istnieje cos takiego jak strumienie, np. cout albo cin. w szczegolnosci, istnieja strumienie przystosowane do obslugi plikow - ofstream, ifstream
nie wazne czy cin, czy ifstream, i to i to jest strumieniem i uzywa sie tego podobnie.
masz operowac na tekscie, nie na danych binarnych, wiec powinienes uzyc operatora >>, np.:
int zmienna;
cin >> zmienna;
operator (tekstowy) >> ma to do siebie, ze:
- pomija biale znaki *)
- da sie go "łancuchowac"
tak wiec, totalna "podstawa" to:
int zmienna1, zmienna2, zmienna...;
cin >> zmienna1 >> zmienna2 >> ....
i to odczyta Ci ciag N kolejnych zmiennych typu INT, oddzielonych spacjami, TAB'ami, nowymi liniami itp.
tak, nowymi liniami. on pomija takze nowe linie. to tez bialy znak.
rozwiazanie Twojego problemu wyglada mniejwiecej tak:
int ilosc;
cin >> ilosc;
liczby = ....przygotuj sobie jakos tablice aby "ilosc" liczb sie zmiescila
for(int i = 0; i < liczby; ...
cin >> liczby[i];
cin mozesz wymienic na ifstream jezeli chcesz czytac z pliku zamiast z "klawiatury"
jest to wersja "minimum", ktora zaklada, ze wszystko sie uda i ze wszystko bedzie zawsze poprawnie podane.
jezeli nie mozesz zalozyc ze dane wejsciowe sa poprawne, tzn. jezeli sam w programie musisz "uwazac" na jakies smieci, czyli ze np. uzytkownik z klawiatury wpisal "mama" zamiast piątki, albo że w pliku wejsciowym byly smieci --- w tym momencie kod sie dosc skomplikuje, poniewaz bedziesz po kazdym >> musial sprawdzac, czy sie operacja odczytu powiodla.
tutaj masz troche informacji o tym: http://4programmers.net/Forum/C_i_C++/161978-C++_Wczytywanie_w._z_rozpoznaniem_czy_wpisano_2_czy_3_licz?hl=cin fail
niestety, nie dokopalem sie do watku w ktorym komus tlumaczylem jak -poprawnie- obslugiwac bledy strumieni..
*) o ile tego nie wylaczysz spacjalnymi manipulatorami