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

Zadanie nr.18 z kursu.

Ostatnio zmodyfikowano 2014-10-08 14:47
Autor Wiadomość
Andy20
Temat założony przez niniejszego użytkownika
Zadanie nr.18 z kursu.
» 2014-10-04 00:01:02
Witam.
Jestem przy zadaniu nr 18 oto mój kod:
C/C++
#include<iostream>
#include<cstdlib>
#include<ctime>
using namespace std;

int main()
{
    srand( time( NULL ) );
    int tab[ 999 ];
    int licz = 0;
    int suma = 0;
    do {
        tab[ licz ] =(( rand() % 7 ) + 4 );
        cout << tab[ licz ];
        licz++;
    } while( licz < 999 );
   
    licz = 0;
    do {
        suma = suma + tab[ licz ];
        licz++;
    } while( licz < 999 );
   
    cout << "\n Wynik to: " << suma;
    cin.get();
}
Chciałbym zapytać co w tym programie daje wyzerowanie zmiennych
C/C++
licz = 0;
Jak nie dodam tej linijki to wychodzi mi jakiś dziwny wynik i za każdym razem ten sam. Bardzo bym prosił o jakieś wytłumaczenie 
P-117903
grzeso
» 2014-10-04 00:12:11
Musisz nadać im jakąś początkową wartość, bo jak tego nie zrobisz to wychodzą głupoty. Jak nie nadasz początkowej wartości to tak jakbyś od czegoś przypadkowego zaczynał liczyć (czy tam robić to co tam robisz)
P-117904
marianekA
» 2014-10-04 00:22:02
To bardzo proste...
Zmienna 'Licz' po opuszczeniu pierwszej pętli osiąga maksymalną wartość czyli w tym przypadku 998 i z taką wartością przejdzie do drugiej pętli jeśli nie została wyzerowana i wtedy druga pętla nie ma sensu.
P-117905
Andy20
Temat założony przez niniejszego użytkownika
» 2014-10-04 00:25:25
Ok :) rozumiem, dzięki za odpowiedź.
P-117906
Mateus.
» 2014-10-04 09:36:17
Można też nie zerować i użyć dekrementacji.
P-117907
Memento96
» 2014-10-08 14:37:35
Można też nie zerować i użyć dekrementacji.
 Ale po co tworzyć nową pętle żeby zdekrementować do wartości 0?
P-118137
Rashmistrz
» 2014-10-08 14:47:34
Ale po co tworzyć nową pętle żeby zdekrementować do wartości 0?
Nie trzeba nowej...
Usunie się zerowanie i zamiast inkrementacji
użyje się dekrementacji w drugiej pętli,
czyli tej przed którą występowało zerwanie. :F
P-118139
« 1 »
  Strona 1 z 1