Skocz do zawartości

Zablokowane Kilka liczb (wejście) - jedna linia


Utermiko

Rekomendowane odpowiedzi

Witam. Przepraszam za banalne pytanie, lecz nigdzie nie mogę znaleźć na to odpowiedzi.

Język to C++.

 

Mianowicie chodzi mi o to, jak wczytać kilka liczb w jednym wierszu strumieniem wejścia (std::cin).

Chodzi mi o to, że jak wpiszę w konsoli np.

3 18 632 831

to 3 powędruje np. do tab[0], 18 do tab[1], 632 do tab[2] itd...

Może też być, że po użyciu std::cin nie przenosi kursora do następnej linijki.

 

W skrócie chodzi mi o: "Wczytaj kilka liczb w jednym wierszu, które są porozdzielane spacjami."

 

Czy jest taka możliwość, czy trzeba wczytywać to jako std::string i porozdzielać samodzielnie?

 

Z góry dziękuję za odpowiedź.

Odnośnik do komentarza
Udostępnij na innych stronach

Bufor strumienia jest czyszczony przez trzy znaki: nowej linii (enter), tabulacji (tab) i spacji. Tak więc chcąc wczytać kilka wartości w taki sposób:

 

cin >> a;
cin >> b;
cin >> c;
cin >> d;

dane wejściowe możesz sformatować tak:

3
18
632
831

... ale również tak:

3 18 632 831

 

Krótko mówiąc: dane separują spacja, enter i tabulator. :)

Odnośnik do komentarza
Udostępnij na innych stronach

... ale również tak:

3 18 632 831

No ale jak wczytać w ten sposób dane, np. do tablicy, którą wielkość ustala użytkownik?

Kiedy dam cin>>a; to mi przeskakuje do kolejnej linii.

Zrobiłem sobie sposób ze stringiem (pewnie mało optymalny ale jest :P), że ładuje znaki do tab[0], a jak napotka spację to ładuje do tab[1], aż do końca stringa. Jeśli potrzeba liczb, to po prostu je konwertuję później.

Nie czuję się zbyt dobrze w C++ no ale cóż. Na OIG nie ma C# :P

 

@EDIT

Chodzi mi o to, że na początku mnie zapyta "Ile liczb wczytać?" i wpiszę powiedzmy 7, a później muszę wpisać 7 liczb porozdzielanych spacją.

Odnośnik do komentarza
Udostępnij na innych stronach

Heh, nie wiedziałem, że to aż takie proste :P W sumie można było się domyśleć o co chodzi po zdaniu Maximala:

Bufor strumienia jest czyszczony przez trzy znaki: nowej linii (enter), tabulacji (tab) i spacji.

 

@UP Pamiętam :)

 

Dziękuję za pomoc. Temat można zamknąć.

Odnośnik do komentarza
Udostępnij na innych stronach

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...