[C++]niewłaściwy wynik z kodu do zadania 2 z poziomu 2 Losowanie bez powtórzeń
Ostatnio zmodyfikowano 2017-08-22 11:57
Drocsid Temat założony przez niniejszego użytkownika |
[C++]niewłaściwy wynik z kodu do zadania 2 z poziomu 2 Losowanie bez powtórzeń » 2017-08-22 10:43:07 Witam wszystkich... przychodzę tutaj z problemem.. jest nim mój troszkę nędzny kod..
#include <iostream> #include <cstdlib> #include <time.h> using namespace std;
bool check(int liczba,int tab[]) { int c=0; do { if(liczba == tab[c]) { return true; } c++; }while(c<8); return false; } int main() { int liczba=0,tab[8],x=0,zapisane[10]; srand(time(0));
do { cout<<"Podaj " << x+1<<" liczbe : "; cin>>zapisane[x]; x++; }while(x<10);
x=0; do { liczba = rand()%10 + 1;
if (check(liczba,tab)==false) { tab[x] = liczba;
x++; } }while(x<8);
x=0;
do { cout<<zapisane[tab[x]]<<endl; x++; }while(x<8);
return 0; }
Czy byłby mi ktoś w stanie wytłumaczyć dlaczego jeśli podam liczby np: same "12".. w którymś z wylosowanych wyników będzie losowa liczba...
Przykładowy wynik:
12 12 8 12 12 12 12 12
Głowie się nad tym drugi dzień bez skutku,przepraszam że zawracam komuś głowę taką pierdółką ale dla mnie to narazie problem nie do rozwiązania, z góry dziękuje za pomoc. |
|
maly7 |
» 2017-08-22 11:08:05 liczba = rand() % 10 + 1; To losuje liczby z zakresu 1-10 a indeks tablicy zapisane może być z zakresu 0-9. Więc jeśli odwołasz się do zapisane[10] nikt nie wie co możesz dostać. |
|
Drocsid Temat założony przez niniejszego użytkownika |
» 2017-08-22 11:57:45 Faktycznie.. Dziękuje za pomoc, temat do zamknięcia |
|
« 1 » |