wolny odczyt ze standardowego wejścia

0

mam odczytac duza ilosc danych ze standardowego wejscia. Za pomoca scanf czy cin zajmuje to dosc duzo czasu. Czy da sie to jakos inaczej zrobic, szybciej niz za pomoca tych dwoch funkcji?
Jak wczytac zawartosc standardowego wejscia od razu do pamieci? (zeby przy kazdorazowym powtorzeniu np. scanf nie odwolywac sie do pliku ktory zostal podany w stdin )?

0

jak duzo jest tych danych? jesli zmieszcza sie w ramie, mozesz poprzez cin.read wrzucic je hurtem do jakiejs dynamicznej char* czy vector<char>'a.

jednak nie widze w jaki sposob operowanie na dyn-tab mialo by byc szybsze niz czytanie elementow ze strumienia cin'em czy scanfem. i tak i tak musisz przeczytac CALY plik raz, i i tak i tak musisz WSZYSTKIE dane w przetlumaczyc czyms scanf-o-podobnym

0

w takim razie czy jest jakis sposob zeby wczytywac kolejne int'y z stdin szybciej?

0

konkursik jakiś algorytmiczny? Przestań zajmować się pierdołami, i optymalizuj algorytm. Na konkursach twój program dostaje dane nie tyle z pliku dyskowego, co z RAMu - operacje odczytu nie wpływają praktycznie wcale na czas działania.

Tak btw, to scanf jest szybszy niż cin, więc jak ci baardzo zależy, to sobie tego użyj. Ale wyżej d**y nie podskoczysz - w ogólnym przypadku szybciej się nie da, a w przypadkach szczególnych, to będą przyspieszenia rzędu kilkunastu %

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