Tablica dynamiczna charów na stringa
Ostatnio zmodyfikowano 2015-02-10 13:03
poiuy0987.93 Temat założony przez niniejszego użytkownika |
Tablica dynamiczna charów na stringa » 2015-02-10 12:40:59 Mam funkcję generującą hasło z odpowiednią liczbą różnych znaków. Oto mój kod: void fZadanie3( int N ) { string duze = "ABCDEFGHIJKLMNOPRSTUWZYX"; string male = "abcdefghijklmnoprstuwxyz"; string znaki = "!@#$%^&*?<>"; string wszystkie = "AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpRrSsTtUuWwXxYyZz!@#$%^&*?<>"; char * haslo = new char[ N ]; for( int i = 0; i < N; i++ ) haslo[ i ] = NULL; int los[ 6 ]; for( int i = 0; i < 6; i++ ) { if( i == 0 ) { los[ i ] = rand() % N; continue; } los[ i ] = rand() % N; for( int j = i - 1; j >= 0; j-- ) { if( los[ j ] == los[ i ] ) { i--; break; } } } for( int i = 0; i < N; i++ ) haslo[ i ] = wszystkie[ rand() % 59 ]; haslo[ los[ 0 ] ] = duze[ rand() % 24 ]; for( int i = 1; i < 4; i++ ) haslo[ los[ i ] ] = male[ rand() % 24 ]; for( int i = 4; i < 6; i++ ) haslo[ los[ i ] ] = znaki[ rand() % 11 ]; for( int i = 0; i < N; i++ ) cout << haslo[ i ]; cout << endl; string str_haslo = haslo; cout << "Wygenerowane haslo: " << str_haslo << endl; }
Gdy wypisuje str_haslo np. dla N=6 to mi wypisuje 6 znaków hasła a potem około 18 znaków typu ŕŕŕŕŕŕžžžžž. Jeśli zmienie tablice na statyczna char haslo[100] to mi działa ale nie rozumiem czemu nie działa mi z dynamiczną. |
|
akwes |
» 2015-02-10 13:03:32 Znak końca literału znakowego? |
|
« 1 » |