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

Zadanie domowe - Rozdział 18 kursu.

Ostatnio zmodyfikowano 2014-08-01 09:20
Autor Wiadomość
Klojtek
Temat założony przez niniejszego użytkownika
Zadanie domowe - Rozdział 18 kursu.
» 2014-08-01 09:01:46
Cześć,

Mam następujący problem w ww. zadaniu, otóż by zsumować wszystkie wyrazy w tablicy wypełnionej wylosowanymi liczbami muszę z sumy zrobić różnicę. Ciężko mi jednocześnie ustalić czy wypisany wynik jest poprawny, choć na pierwszy rzut oka wydaje się, że właśnie tak jest.

Poniżej zamieszczam kod, który wypociłem i proszę o wskazanie miejsca, w którym popełniłem błąd lub wytłumaczenie dlaczego zsumowanie wygląda właśnie tak, a nie jak podpowiadałaby logika.

C/C++
int main()
{
    srand( time( NULL ) );
    int licznik, ile_liczb, suma;
    int liczby[ 999 ];
   
    licznik = 1;
    ile_liczb = 998;
   
    //---------Losowanie liczb------------
    do
    {
        liczby[ ile_liczb ] =( rand() % 7 ) + 4;
        ile_liczb--;
        licznik++;
       
    } while( ile_liczb >= 0 );
   
    //-------Wypisanie wylosowanych liczb na ekran----------
    do
    {
        cout << liczby[ ile_liczb ] << endl;
        ile_liczb++;
       
    } while( ile_liczb <= 998 );
   
    //------Pętla zapewniająca zsumowanie wszystkich wyrazów w tablicy------------
    do
    {
        ile_liczb--;
        licznik++;
    } while( ile_liczb >= 0 && licznik <= 999 );
   
    suma = liczby[ ile_liczb ] - liczby[ licznik ]; // SUMA wyrazów w tablicy... Dlaczego musi być różnicą!?
    cout << "Suma: " << suma << endl;
   
}
[ / cpp ]
P-114824
pekfos
» 2014-08-01 09:11:40
Masz zsumować wszystkie elementy tablicy, a nie odjąć od siebie 2. Dlaczego iterujesz po tablicy raz w jedną stronę, a raz w przeciwną?
P-114826
Klojtek
Temat założony przez niniejszego użytkownika
» 2014-08-01 09:20:03
Dobra, chyba wiem jaką głupotę zrobiłem. Zaraz to zapiszę na nowo i sprawdzę czy dobrze myślę.

Serdeczne dzięki za naprowadzenie na błąd! :)

Edit: Tak, działa. Wystarczyło pomyśleć kilka sekund...
P-114828
« 1 »
  Strona 1 z 1