Problem z zadaniem: Przekazywanie tablic jednowymiarowych do funkcji (poziom 2, rozdział 19.)
Ostatnio zmodyfikowano 2013-12-30 08:12
astral55 Temat założony przez niniejszego użytkownika |
Problem z zadaniem: Przekazywanie tablic jednowymiarowych do funkcji (poziom 2, rozdział 19.) » 2013-12-30 07:46:16 Witam, mam problem z poprawnym działaniem programu z zadania domowego: Przekazywanie tablic jednowymiarowych do funkcjiMianowicie mój kod wygląda tak: #include <iostream> #include <cstdlib> #include <ctime> using namespace std; int wylosujLiczby( int t[], int ilosc, int przedziala, int przedzialz ) { srand( time( NULL ) ); int licznik = 0; do { t[ licznik ] =(( rand() %( przedzialz - przedziala + 1 ) ) + przedziala ); licznik++; } while( licznik < ilosc ); } int wypiszLiczby( int x[], int ilosc2 ) { int licznik = 0; do { cout << x[ licznik ] << " "; licznik++; } while( licznik < ilosc2 ); } int obliczSume( int z[], int ilosc3 ) { int licznik; int suma = 0; do { suma = suma + z[ licznik ]; licznik++; } while( licznik < ilosc3 ); return suma; } int main() { int tablica[ 999 ]; wylosujLiczby( tablica, 999, 4, 10 ); wypiszLiczby( tablica, 999 ); int iSuma = obliczSume( tablica, 999 ); cout << "Suma liczb wynosi: " << iSuma << "\n"; return 0; } i z niewiadomych mi, póki co, przyczyn, program w momencie wykonywania 3 funkcji (obliczSume) zawiesza się. ALE Najpierw spróbowałem sam dojść do tego, co dokładnie jest nie tak i postanowiłem sprawdzić w którym miejscu 3 funkcja się zawiesza, w tym celu po prostu chciałem by program wypisał tekst: int obliczSume( int z[], int ilosc3 ) { int licznik; int suma = 0; do { cout << "sprawdzam"; suma = suma + z[ licznik ]; licznik++; } while( licznik < ilosc3 ); return suma; } To jest jedyna zmiana w kodzie jaką robię, a po skompilowaniu program działa bez zarzutu (prócz wypisywania tekstu "sprawdzam"). Byłbym wdzięczny gdyby ktoś wyjaśnił o co tu chodzi, bo dla mnie to jest trochę dziwne. |
|
pekfos |
» 2013-12-30 08:12:04 licznik jest niezainicjalizowany. |
|
« 1 » |