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

[C++]niewłaściwy wynik z kodu do zadania 2 z poziomu 2 Losowanie bez powtórzeń

Ostatnio zmodyfikowano 2017-08-22 11:57
Autor Wiadomość
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.
P-164190
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ć.
P-164191
Drocsid
Temat założony przez niniejszego użytkownika
» 2017-08-22 11:57:45
Faktycznie.. Dziękuje za pomoc, temat do zamknięcia
P-164192
« 1 »
  Strona 1 z 1