[C++] Losowanie liter
Ostatnio zmodyfikowano 2014-10-19 16:24
b0r0 Temat założony przez niniejszego użytkownika |
[C++] Losowanie liter » 2014-10-18 15:52:48 Witam mam sporą zagwozdkę z funkcja która w oparciu o rand miała mi losować liczy i litery (tylko duże) Problem polega na tym że na 344 444 losowania nie pojawiają się pewne litery (kompilowałem ponad 20 razy), na razie nigdy nie mogłem znaleźć T i S. Struktura ** losowanie( int N ) { srand( time( NULL ) ); Struktura ** tab; tab = new Struktura *[ N ]; for( int i = 0; i < N; i++ ) { tab[ i ] = new Struktura; ( tab[ i ] )->a =( rand() % 1000001 ); ( tab[ i ] )->b =( rand() & 25 ) + 65; ( tab[ i ] )->c = 0; } return tab; }
Ma ktoś pomysł co może być przyczyną? Testowałem to także na innej maszynie i to samo. |
|
Monika90 |
» 2014-10-18 15:55:23 To rand() & 25 jest źle, zamień na rand() % 26 |
|
b0r0 Temat założony przez niniejszego użytkownika |
» 2014-10-18 16:01:26 hmm tak S się faktycznie pojawia ale tak samo i " [ " co jest też problemem T dalej nie występuje |
|
1aam2am1 |
» 2014-10-18 16:49:33 ( tab[ i ] )->b =( rand() % 26 ) + 65;
Edit. Ta linijka kody jest w 100% poprawna, to że niema poszczególnych liter nie oznacza że kod jest zły to tylko przypadek lub wina platformy. Edit 2. srand( time( NULL ) ); umieść na początku main() |
|
b0r0 Temat założony przez niniejszego użytkownika |
» 2014-10-18 17:30:58 W dalszym ciągu nie wiem jak to możliwe ale na 9 344 444 wylosowane litery nie ma : S T X G (to tylko przykłady)
1aam2am1 nabijasz posty czy jak? bo przecież z taką linijką kodu tu przyszedłem |
|
b0r0 Temat założony przez niniejszego użytkownika |
» 2014-10-18 17:31:59 Nie ma może innego sposobu na takie losowanie? chodzi tylko o losowanie dużych liter alfabetu, bez polskich znaków |
|
oputyk |
» 2014-10-18 17:44:13 |
|
Monika90 |
» 2014-10-18 18:15:08 jak już pisałam, powinno być tak tab[ i ]->b = rand() % 26 + 65;
wyświela Ci się znak [ to znaczy że masz błąd w zupełnie innej części kodu, (a może Twój komputer nie używa ASCII, tylko jakiegoś innego kodowania?) |
|
« 1 » 2 |