zliczanie wystapien
Ostatnio zmodyfikowano 2009-06-09 20:18
nino Temat założony przez niniejszego użytkownika |
zliczanie wystapien » 2009-06-09 11:49:53 Witam. Zacząłem się trochę bawić ze spojem i często napotykam się z tym samym problemem więc go w końcu tutaj poruszę na pewnym przykładzie. Zadanie, które robię: https://pl.spoj.pl/problems/KC004/Kod, który aktualnie mam: #include <iostream> #include <conio.h> using namespace std;
int main() { long long n, ile = 0, a; long long tab[ n ]; cin >> a; cin >> n; for( long long i = 0; i < n; i++ ) { cin >> tab[ i ]; } ile = 0; for( long long i = 0; i < n; i++ ) { if( tab[ i ] == a ) ile++; } cout << ile << endl; getch(); return 0; } I podstawowe pytanie. Jak zakończyć wczytywanie danych? Rozumiem, że poprzez while, ale co dokładniej tam napisać? :/[/i][/i] |
|
WunM |
» 2009-06-09 14:06:31 Wczytujesz plik dotąd aż się skończy. Ot cała filozofia. |
|
steckel |
» 2009-06-09 15:04:13 Dane nie są wczytywane z pliku tylko przez strumień (tak jakby się wpisywało z klawiatury). |
|
WunM |
» 2009-06-09 15:45:43 Fakt... dawno nie rozwiązywałem tych zadań... |
|
WunM |
» 2009-06-09 19:02:29 Dla uzyskania lepszego czasu można użyć funkcji scanf. |
|
nino Temat założony przez niniejszego użytkownika |
» 2009-06-09 19:57:12 I właśnie wcześniej miałem
while(cin>>a)
W każdym razie wyskakuje ciągle błąd SIGSEGV
Taki warunek zakończenia wystepuje w wielu zadaniach, dlatego musiałem ten temat poruszyć. |
|
nino Temat założony przez niniejszego użytkownika |
» 2009-06-10 00:38:24 Dzięki manfred. O to właśnie biegało. Teraz śmiga! :D |
|
manfred |
» 2009-06-09 17:37:24 while( cin >> zmienna ) Wynikiem wyrażenia "cin >> zmienna" jest cin, które jest typu basic_istream<char, char_traits<char> >, który udostępnia przezabawny operator void*(), który może bez problemu służyć (po niejawnej konwersji do bool) jako warunek dla pętli. |
|
« 1 » 2 |