[C++] Kontener Vector w pętli for
Ostatnio zmodyfikowano 2014-03-05 21:52
kaminki Temat założony przez niniejszego użytkownika |
[C++] Kontener Vector w pętli for » 2014-03-05 20:06:47 Próbuje zrobić program, który będzie pobierał w jednej linii kilka liczb po przecinku i zapisywał je do vectora. Po wpisani liczb i kliknięciu ENTER. Na początku nie znamy ilości liczb jaka podamy. #include <iostream> #include <vector> #include <conio.h>
using namespace std;
vector < int > tab; int liczba; int znak = 0; int main() { do { if( znak == 13 ) { break; } else { cin >> liczba; tab.push_back( liczba ); znak = getche(); } } while( znak != 13 ); cout << tab.size(); }
|
|
pekfos |
» 2014-03-05 20:17:06 A w czym problem? |
|
kaminki Temat założony przez niniejszego użytkownika |
» 2014-03-05 20:56:54 Funkcja getch() w tej sytuacji nie działa prawidłowo. Próbuje różnych sposobów ale pewnie coś źle robię z pętlą. |
|
MrPoxipol |
» 2014-03-05 21:08:42 A twoim zdaniem jak ma działać? Działa dobrze. Tak jak powinna. |
|
kaminki Temat założony przez niniejszego użytkownika |
» 2014-03-05 21:11:51 Wpisuje: 5 3 6 i klikam enter
na dole jest cout do pokazania ile elementow zawiera vector
i zwraca liczbe 1 niezależnie od ilosci podanych elementow a w tej sytuacji powinno byc 3 |
|
MrPoxipol |
» 2014-03-05 21:26:01 Każde wczytanie przy użyciu cin musisz zatwierdzić enterem. /edit: Z tego co widzę chciałeś to zrobić tak (skompiluj z flagą -std=c++11 lub usuń blok z for): #include <iostream> #include <vector> #include <sstream> #include <string> #include <cstdlib>
using namespace std;
int main() { vector < int > nums; string user_data; cout << "Podaj liste: " << endl; getline( cin, user_data ); string buffer; istringstream iss( user_data ); while( getline( iss, buffer, ' ' ) ) nums.push_back( atoi( buffer.c_str() ) ); cout << "Sprasowane: " << endl; for( auto value: nums ) cout << value << " "; return 0; } http://ideone.com/CassAK |
|
kaminki Temat założony przez niniejszego użytkownika |
» 2014-03-05 21:52:10 Dokładnie o to. Wielkie dzięki. Zamykam |
|
« 1 » |