Lekcja 18. - Tablice jednowymiarowe, sumowanie tablic, a ostatnia wartość zmiennej
Ostatnio zmodyfikowano 2014-07-02 08:49
zuzjo Temat założony przez niniejszego użytkownika |
Lekcja 18. - Tablice jednowymiarowe, sumowanie tablic, a ostatnia wartość zmiennej » 2014-07-02 08:06:41 Dlaczego, w poniższym kodzie w pętli sumowania "do" ostatnia wartość zmiennej "liczba[9]" zmienia się identycznie jak wynik sumowania "suma" (narasta, przy dodawaniu kolejnych zmiennych), co powoduje ostatecznie zły wynik sumowania? Zmienna "liczba[9]" nie powinna się zmieniać analogicznie jak zmienne od "liczba[0]" do "liczba[8]". #include <iostream> #include <cstdlib> #include <ctime>
int main() { int liczba[ 9 ]; int licznik = 0; srand( time( NULL ) ); do { liczba[ licznik ] =(( std::rand() %( 6 ) ) + 4 ); std::cout << licznik << " Liczba = " << liczba[ licznik ] << std::endl; licznik++; } while( licznik <= 9 ); std::cout << std::endl; licznik = 0; int suma = 0; do { suma += liczba[ licznik ]; std::cout << std::endl; std::cout << "Liczba = " << liczba[ licznik ] << std::endl; std::cout << licznik << " Suma liczb wynosi:" << suma << std::endl; std::cout << "Liczba 10 = " << liczba[ 9 ] << std::endl; licznik++; } while( licznik <= 9 ); std::cout << std::endl; return 0; } |
|
alixir |
» 2014-07-02 08:49:21 Dlatego, że deklarujesz tablicę 9-cio elementową int liczba[ 9 ]; , a operujesz na 10 elementach (wychodzisz poza zakres tablicy) |
|
« 1 » |