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
vBulletin v3.6.8, Derechos ©2000-2024, Jelsoft Enterprises Ltd.