xxxxxxxx

Odpowiedz Nowy wątek
2011-08-23 07:17
0

x

edytowany 2x, ostatnio: factoradic, 2015-08-03 22:51

Pozostało 580 znaków

2011-08-23 07:48
1

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.

Pozostało 580 znaków

2011-08-23 08:10
Rev
0

A jak chcesz zaakceptować, zakończyć wprowadzanie?


Pozostało 580 znaków

2011-08-23 08:16
1

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.


edytowany 1x, ostatnio: ujemny, 2011-08-23 08:17

Pozostało 580 znaków

2011-08-23 08:29
1

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

edytowany 1x, ostatnio: Sarrus, 2011-08-23 08:29

Pozostało 580 znaków

2011-08-23 08:37
Rev
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).


edytowany 1x, ostatnio: Rev, 2011-08-23 08:38
...z możliwych sposobów na pewno najkrótszy. - ujemny 2011-08-23 08:38

Pozostało 580 znaków

2011-08-23 09:01
Rev
0

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).


Pozostało 580 znaków

2011-08-23 09:04
0

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


░█░█░█░█░█░█░█░█░█░█░█░

Pozostało 580 znaków

2011-08-23 10:44
Kumashiro
0

A czy conio.h to przypadkiem nie był tylko w Borlandzie? W dodatku nieprzenośne.

Pozostało 580 znaków

2011-08-23 11:08
0

w mingw też jest. większość używa windowsa, więc przenośność to nie jest problem


░█░█░█░█░█░█░█░█░█░█░█░
edytowany 1x, ostatnio: krwq, 2011-08-23 11:08

Pozostało 580 znaków

2011-08-23 11:22
Kumashiro
0
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.

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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