PDA

Ver la Versión Completa : Como generar una cadena aleatoria?


JuanErasmo
13-06-2008, 21:52:58
Buenas tardes amigos.

Necesito generar una cadena de 10 digitos que contenga letras y numeros ( *, / ).

Alguien tiene una idea de como hacerlo??

Gracias!

escafandra
14-06-2008, 00:18:35
Bueno, en C tienes una forma de generar un número aleatorio entre 0 y n. Si conviertes ese número a carácter...pues ya está.

Revisa:
#include <stdlib.h>
int random(int num);números del 0 al 9: (char)random(10)+48
letras mayúsculas: (char)random(26)+65
letras minúsculas: (char)random(26)+97

Utiliza siempre antes de generar la cadena randomize();
para actualizar el generador de números aleatorios.


Saludos.

escafandra
16-06-2008, 18:04:31
...Bueno este código te puede servir lo he escrito pero no lo he compilado pero creo que funcionará.


#include <stdlib.h>

randomize(); // Reinicia el generedor de números aleatorios
char cadena[11];
cadena[10]=0;
for(int n=0; n<10;){
char c = (char)random(123); // ASCII 122 = z
if(!isalnun (c)) continue;
cadena[n] = c;
n++;
}

Saludos.

JuanErasmo
16-06-2008, 20:18:33
Muchas Gracias! lo hé probado y trabaja perfecto!
Saludos