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

Tablica dynamiczna charów na stringa

Ostatnio zmodyfikowano 2015-02-10 13:03
Autor Wiadomość
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:
C/C++
void fZadanie3( int N )
{
    string duze = "ABCDEFGHIJKLMNOPRSTUWZYX"; // 1/24
    string male = "abcdefghijklmnoprstuwxyz"; // 3/24
    string znaki = "!@#$%^&*?<>"; // 2/11
    string wszystkie = "AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpRrSsTtUuWwXxYyZz!@#$%^&*?<>"; //59
   
    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ą.
P-126291
akwes
» 2015-02-10 13:03:32
Znak końca literału znakowego?
P-126292
« 1 »
  Strona 1 z 1