x
xxxxxxxx
- Rejestracja: dni
- Ostatnio: dni
- Postów: 2
- Rejestracja: dni
- Ostatnio: dni
- Postów: 2512
Jeżeli dobrze pamiętam, to najprościej byłoby tak:
int a,b,c;
cin >> a >> b >> c;
Wtedy wpisujesz liczby oddzielone spacjami i trafią one gdzie trzeba. Założenie jest takie, że Ty jesteś jedynym użytkownikiem programu, bo metoda ta nie jest odporna na błędy.
- Rejestracja: dni
- Ostatnio: dni
A jak chcesz zaakceptować, zakończyć wprowadzanie?
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Lublin
Pewnie musiał byś zmieniać jej rozmiar używając tablicy temp itp. To strata czasu, więc najlepiej poczytaj o Vectorach a na pewno rozwiąże to twój problem.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 2512
Możesz wczytywać po jednym znaku (bajcie) i samodzielnie rozpoznawać czy to cyfra, litera czy enter. Przyda Ci się do tego cin.get. Zajrzyj na tą stronę (cin to obiekt istream):
http://www.cplusplus.com/reference/iostream/istream/
a także tablica ASCII
- Rejestracja: dni
- Ostatnio: dni
std::string line;
std::getline(std::cin, line);
std::istringstream lineStr(line);
std::istream_iterator<int> it(lineStr), end;
std::vector<int> numbers(it, end);
Includy to iostream, vector, sstream i iterator.
Wczytujesz całą linię (aż do entera) za pomocą getline, tworzysz sobie z niej strumień, potem iterator po intach. Takie iteratory działają w prosty sposób - biorą strumień i pobierają z niego wartość podanego typu. No i na koniec kopiujesz sobie do wektora wszystkie wartości. Równoważne z while(lineStr >> liczba) numbers.push_back(liczba).
- Rejestracja: dni
- Ostatnio: dni
W gruncie rzeczy różnica jest niewielka. Wector to w sumie tablica pod spodem. Jeżeli chcesz użyć wektora jako tablicy o stałym rozmiarze (w konstruktorze przekazać wielkość) to i wydajnościowo będzie identycznie (operowanie na iteratorach jest tym samym, co na wskaźnikach). Jedna z różnic jest taka, że tablica zawsze będzie jednym ciągiem danych w pamięci, a wektor niekoniecznie (chociaż nowy standard już tego wymaga).
- Rejestracja: dni
- Ostatnio: dni
- Postów: 2518
może nie jest to zalecana metoda do programów konsolowych, ale w bibliotece conio.h znajduje się funkcja getch() która nie czeka na enter
- Rejestracja: dni
- Ostatnio: dni
A czy conio.h to przypadkiem nie był tylko w Borlandzie? W dodatku nieprzenośne.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 2518
w mingw też jest. większość używa windowsa, więc przenośność to nie jest problem
- Rejestracja: dni
- Ostatnio: dni
krwq napisał(a)
większość używa windowsa, więc przenośność to nie jest problem
To jest bardzo złe podejście do programowania.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 2512
krwq napisał(a)
może nie jest to zalecana metoda do programów konsolowych, ale w bibliotece conio.h znajduje się funkcja getch() która nie czeka na enter
Też znam tą bibliotekę, ale chyba nie jest w standardzie, więc dopóki jest wybór to lepiej jej nie polecać.