Generare lettere minuscole casuali

di il
1 risposte

Generare lettere minuscole casuali


#include <iostream>
#include <cstring>
#include <cstdlib>
#include <ctime>

using namespace std;

int main()
{
    srand(time(0));
    char lettere[10];
 
    for(int i=0;i<10;i++)
    {
        lettere[i]=(97+rand()%122)+1;
    }

    return 0;
}

salve devo generarmi una stringa di caratteri casuali pero non mi va ... il codice che ho scritto è quello sopra...

1 Risposte

  • Re: Generare lettere minuscole casuali

    Se fai rand()%122
    ottieni un valore da 0 a 121; in realtà tu devi ottenere un valore da 0 a 25 e quindi devi scrivere rand()%26.
    Il valore così ottenuto lo devi sommare a 97 ('a') ottenendo quindi valori da 97 a 122 ('z').
    Dovresti perciò scrivere
    lettere=97+rand()%26;
    Infine, attenzione a non fare un printf(lettere)!!! Non essendoci il terminatore di stringa rischieresti di ottenere un crash...
Devi accedere o registrarti per scrivere nel forum
1 risposte