Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Lekcja 18. - Tablice jednowymiarowe, sumowanie tablic, a ostatnia wartość zmiennej

Ostatnio zmodyfikowano 2014-07-02 08:49
Autor Wiadomość
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]".

C/C++
#include <iostream> //losowanie liczby z przedzialu i suma tych liczb
#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;
}
P-113084
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)
P-113085
« 1 »
  Strona 1 z 1