Una pequeña demostración de cómo generar letras al azar en C.
#include<stdlib.h>
#include<time.h>
#include<stdio.h>
int main(int c, char** s){
int i;
srand(time(NULL));
for(i = 0; i < 100; i++){
printf("La letra es: '%c'n", 'a' + rand() % (('z' - 'a') + 1));
}
return 0;
}
Eso no genera letras de forma aleatoria, las genera de forma pseudo-aleatoria (se pueden predecir).
Es más, generar números aleatorios con un procesador es imposible.
http://www.microsiervos.com/archivo/frases-citas/pecados-aleatorios.html
Comment por Ricardo — 25 Febrero 2008 @ 12:38
Ricardo, tendrías que predecir el momento en que se ejecuta el proceso.
Comment por ignorante — 25 Febrero 2008 @ 13:37
Hola,
Me gustaría que alguien me ayudara. Necesito generar grupos de 4 letras aleatorias que esten comprendidas entre 6 letras determinadas. En este caso: R,G,B,Y,W y P.
Llevo dandole vueltas muchos días usando la funcion rand. Os agradecería si alguien tiene una idea. Gracias
Comment por Elda — 15 Abril 2008 @ 9:08
Excelente aporte, por un momento pense que era imposible encontrar esta respuesta en la red.
Funciona suficientemente bien, gracias por publicarlo.
Comment por Joaquin_Phi — 7 Noviembre 2008 @ 22:05
K buen programa!!!!! FELICIDADES
Comment por Viole — 23 Marzo 2009 @ 1:10
Saludos amigos, pero disculpandome del autor del post, creo que se pudo presentar este codigo mucho mas sencillo. Aqui les dejo el mismo codigo simplificado.
int main(){
int i;
srand(time(NULL));
for(i = 0; i < 11; i++)
{
char e = 'A' + rand() % 5;
cout<<e<<endl;
}
Nota : Cuando a una variable char se le suma un valor entero positivo hace referencia que se le suma al numero que le corresponde en la tabla ASCII. Con en este ejemplo hago aparecer las cinco primeras letras mayusculas cuyos ASCII son 65 que es la letra A, 66 (B),67 (C),68 (D) y 66 (E). Si en lugar de 'A' pongo 'D' apareceran aleatoriamente las letras D , E , F , G o H.
Comment por Junior — 18 Septiembre 2009 @ 15:27
Saludos, aqui les dejo otro codigo para Hacer aparecer Vocales mayusculas o minusculas aleatoriamente.
#include
#include
#include
using namespace std;
int main(){
int i;
char vocal[] = “AaEeIiOoUu”;
int numvoc;
srand(time(NULL));
for(i = 0; i < 11; i++)
{
numvoc = rand() % 10;
cout<<vocal[numvoc]<<endl;
}
cout<<endl;
return 0;
}
Comment por Junior — 18 Septiembre 2009 @ 15:30
El Anterior codigo, creo que le ayudaria mucho a Elda. Lo que tendria que cambiar es colocando las letras que ella quiere aleatorizar RGBYWP en el arreglo y acomodar la funcion rand que debe ser numvoc = rand() % 6.
Saludos.
Comment por Junior — 18 Septiembre 2009 @ 15:38