Witajcie. Mam problem z liczbami losowymi std::rand().
Mam taki kod:
srand( time( NULL ) );
...
int los;
for(j...){
for (i...){
if(pola[j][i].miasto>=0){
los=rand()%100;
if(los<51){
pola[j][i].wojsko=1;
...
}
}
}
}
Gdzie problem występuje z warunkiem (los<51). Kod ma zrekrutować wojownika z 50% szansą powodzenia. Zamiast sprawdzić warunek to podstawia liczbę która zawsze go spełni i w rezultacie w każdym mieście mam wojownika. Sprawdzałem wylosowane liczby i są one w tym przykładzie z przedziału 0-50. Jeżeli warunek byłby los==1, to wszystkie wylosowane liczby by były równe 1. Nie mam pojęcia dlaczego to nie działa, pewnie czegoś nie widzę albo nie wiem. Proszę o pomoc