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

losowanie liczb rand

Ostatnio zmodyfikowano 2012-08-30 13:00
Autor Wiadomość
NHFL
Temat założony przez niniejszego użytkownika
losowanie liczb rand
» 2012-08-29 20:58:04
w jaki sposób można losować liczbę ale z dwóch zakresów czyli od 65 do 90 oraz 97 do 122
znak = (rand() % 25) + 65;  dodawanie do tego kodu sumy logicznej || nic nie daje

można również spróbować w ten sposób ale również sobie nie radze... w tym wypadku tylko cyfry 65 albo 97 by sie losowalo

 b = rand()
 znak = (rand() % 25) + b;
P-63988
Mrovqa
» 2012-08-29 21:21:18
Pomyśl.
Można to zrobić na kilka sposobów. Dam Ci dwa prostsze:
C/C++
if( rand() % 2 ) { } //losowanie wartosci z zakresu a
else { } // losowanie wartosci z zakresu b
// lub
// zalozmy zakresy 0-5 oraz 10-15
a = rand() % 12;
if( a >= 6 ) a += 4;

Trochę wyobraźni :)

/edit: zanim zadasz pytanie odnośnie większej ilości zakresów - pomyśl, do czego jest Ci to potrzebne i czy nie da się tego inaczej rozwiązać. Tym moim sposobem da się tak dalej ciągnąć, ale to niezbyt ładny kod by był :)
P-63991
NHFL
Temat założony przez niniejszego użytkownika
» 2012-08-29 22:29:26
rzeczywiście proste nawet innym sposobem to zrobiłem od podanego przez Cb a potrzebne mi to było do mojego programu w którym do zmiennej znak trzeba przypisać literę małą bądź wielką i dlatego te 2 zakresy :P
P-63993
Mrovqa
» 2012-08-30 13:00:36
No, mówiłem? :P
Co do liter, dobrym sposobem byłaby tablica ;)
C/C++
char tab[ /*26*2+1*/ ] = "abcd...XYZ";
//...
char wylosowana = tab[ rand() % 52 ]; /// ;)
Taka drobna pomoc :)
P-64008
« 1 »
  Strona 1 z 1