tablica --- funkcja zapełniająca tablice

0

Czy mógłby ktoś objasnic ponizsza funkcje

void wstawB(int tab[],int n){ //funkcja zapełniająca tablicę
tab[0]=rand()%20;
for(int i=0;i<n;i++)
tab[i]=rand()%10+tab[i-1];
}

3
void wstawB(int tab[],int n){ //przyjmuje tablice i jej rozmiar n
    tab[0]=rand()%20; // losuje pierwszy element w zakresie <0, 19>
    for(int i=0;i<n;i++) // i w zakresie <0, n)
    tab[i]=rand()%10+tab[i-1]; //wykrzacza się podczas pierwszej iteracji próbując dorwać się do elementu tab[-1]
}
0

dlaczego generuje mi dziwne liczby nie z tego zakresu co trzeba

#include <cstdlib>
#include <iostream>
#include <ctime>
using namespace std;
void wstawB(int tab[],int n){ //funkcja zapełniająca tablicę
tab[0]=rand()%20;
for(int i=0;i<n;i++)
tab[i]=rand()%10+tab[i-1];
}

int main() {
const int N = 20;
int tab[N];
srand(time(NULL));
wstawB(tab,N);

for(int i = 0; i < N; i++)
    cout << tab[i] <<" ";

return 0;

}
wynik:
4199042 4199042 4199049 4199052 4199059 4199060 4199065 4199071 4199080 4199081 4199085 4199086 4199094 4199099 4199107 4199109 4199115 4199116 4199116 4199122
Process returned 0 (0x0) execution time : 0.047 s
Press any key to continue.

3

bo nie czytasz postu od @spartanPAGE

tu masz dzialajacy kod. Pobaw sie w "porownaj i znajdz roznice"
http://ideone.com/Ah6zKT

0

czytałem ale myslalem ze ta funcja jest poprawna (wykładowaca niepoprawnie podał)
wystarczylo to zmienic
tab[i+1]=rand()%10+tab[i]; i działa dzięki wielkie :D

2

Mażesz za tablicą, tab[n] =... (i+1, gdy i=n-1)

3

@dominikzaq z deszczu pod rynne... nadal zle

powaznie wez sobie zobacz MOJ kod i zobacz CZYM sie rozni... bo +1 to nie jest rozwiazanie

0

jeszcze nie rozumie jednej rzeczy generowanie liczb, poniewaz myslalem ze 1 liczba bedzie generowana w zakresie <0, 19>
tab[0]=rand()%20; // losuje pierwszy element w zakresie <0, 19>

a reszta w zakresie <0,9> a tutaj niespodzianka : 2 8 15 16 17 20 21 30 35 40 40 47 54 62 62 68 71 78 79 87
tab[i]=rand()%10+tab[i-1]; // a tutaj nie powinny byc generowane liczby w zakresie <0,9> oraz sortowanie

3

SORTOWANIE :DDDDD

 tab[i]=rand()%10+tab[i-1]; 

rozpisze Ci to ze spacjami i nawiasami

 tab[i] =   (rand()%10)    +   (tab[i-1])   ; 

jak nadal nie rozumiesz to... rzuc to programowanie...

przeciez tam jest jak byk DODAJ element i-1 z tab

0

dzieki :D

1 użytkowników online, w tym zalogowanych: 0, gości: 1