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];
}
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];
}
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]
}
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.
bo nie czytasz postu od @spartanPAGE
tu masz dzialajacy kod. Pobaw sie w "porownaj i znajdz roznice"
http://ideone.com/Ah6zKT
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
Mażesz za tablicą, tab[n] =...
(i+1, gdy i=n-1)
@dominikzaq z deszczu pod rynne... nadal zle
powaznie wez sobie zobacz MOJ kod i zobacz CZYM sie rozni... bo +1 to nie jest rozwiazanie
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
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
dzieki :D