Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Random de letras ? a - i pero solo mostrar 2 ?

Estas en el tema de Random de letras ? a - i pero solo mostrar 2 ? en el foro de C/C++ en Foros del Web. Buenas tardes , Se puede hacer en "C" un random de letras ? rand() % 1 = entre el 0 - 1 rand() % 5 ...
  #1 (permalink)  
Antiguo 24/01/2012, 13:35
(Desactivado)
 
Fecha de Ingreso: agosto-2011
Mensajes: 327
Antigüedad: 10 años, 4 meses
Puntos: 3
Random de letras ? a - i pero solo mostrar 2 ?

Buenas tardes ,

Se puede hacer en "C" un random de letras ?

rand() % 1 = entre el 0 - 1
rand() % 5 = entre el 0 - 5

Se puede hacer :

rand() % A J

Pero que solo aparezca la A y la J , no quiero la b,c,d,e...
  #2 (permalink)  
Antiguo 24/01/2012, 14:12
 
Fecha de Ingreso: enero-2012
Mensajes: 17
Antigüedad: 10 años
Puntos: 0
Respuesta: Random de letras ? a - i pero solo mostrar 2 ?

no se puede, ya que no son numeros. Lo que podrias hacer es un random entre la A convertida a numeros ASCII hasta J convertida a numeros ASCII. Asi se puede hacer random al ser numeros, y al obtener el numero final, lo conviertes en letra, y ahi lo tienes.

Espero que te haya servido, y si estoy equivocadoo corriganme, no soy ningun experto :P
  #3 (permalink)  
Antiguo 24/01/2012, 14:24
 
Fecha de Ingreso: diciembre-2011
Ubicación: Crespo - Entre Rios
Mensajes: 155
Antigüedad: 10 años, 1 mes
Puntos: 25
Respuesta: Random de letras ? a - i pero solo mostrar 2 ?

podes hacer un rand()%2, si el resultado es 0 seleccionas la letra A y si el resultado es 1 seleccionas la letra J

tambien tenes que cambiar al principio del programa la semilla que utilizara la funcion rand(), para que no te de siempre el mismo resultado:

Código C++:
Ver original
  1. #include <time.h>//para utilizar la funcion time()
  2. #include <cstring.h> //para utilizar la funcion strcpy()
  3. ...
  4.  
  5. srand( time(NULL) ); //para no obtener siempre el mismo numero random
  6.    
  7. char letras[2]= {'A', 'J'}; //posibles letras
  8.    
  9. char letra_obtenida; //almacenara la letra que se obtenga
  10.    
  11. int random= rand()%2;
  12.    
  13. strcpy(&letra_obtenida, &letras[random]); //se copia la letra de la posicion random
  14.  
  15. ...


no es lo mas elegante, pero es una posible solucion.

tambien te sirve si queres agregar mas letras a elejir, solamente tenes que agregarlas en la variable letras y la variable random cambiar el 2 por la cantidad de posibles letras.


saludos
  #4 (permalink)  
Antiguo 24/01/2012, 14:34
(Desactivado)
 
Fecha de Ingreso: agosto-2011
Mensajes: 327
Antigüedad: 10 años, 4 meses
Puntos: 3
Respuesta: Random de letras ? a - i pero solo mostrar 2 ?

Cita:
Iniciado por starfix Ver Mensaje
podes hacer un rand()%2, si el resultado es 0 seleccionas la letra A y si el resultado es 1 seleccionas la letra J

tambien tenes que cambiar al principio del programa la semilla que utilizara la funcion rand(), para que no te de siempre el mismo resultado:

Código C++:
Ver original
  1. #include <time.h>//para utilizar la funcion time()
  2. #include <cstring.h> //para utilizar la funcion strcpy()
  3. ...
  4.  
  5. srand( time(NULL) ); //para no obtener siempre el mismo numero random
  6.    
  7. char letras[2]= {'A', 'J'}; //posibles letras
  8.    
  9. char letra_obtenida; //almacenara la letra que se obtenga
  10.    
  11. int random= rand()%2;
  12.    
  13. strcpy(&letra_obtenida, &letras[random]); //se copia la letra de la posicion random
  14.  
  15. ...


no es lo mas elegante, pero es una posible solucion.

tambien te sirve si queres agregar mas letras a elejir, solamente tenes que agregarlas en la variable letras y la variable random cambiar el 2 por la cantidad de posibles letras.


saludos
Interesante , gracias pero me quedo con la anterior , porque hago matrices x y , al ser integer no peuden ser char .

Un saludo cordial
  #5 (permalink)  
Antiguo 24/01/2012, 14:39
 
Fecha de Ingreso: diciembre-2011
Ubicación: CABA
Mensajes: 433
Antigüedad: 10 años
Puntos: 94
Respuesta: Random de letras ? a - i pero solo mostrar 2 ?

hola drakgoku1! para generar un random de A - J podrias hacer:
Código C:
Ver original
  1. variable='A'+(rand()%'J');
las comillas simples te dejan operar con el ASCII que equivale a la letra, por ej: la letra A equivale a 65 (si es q no me equivoco) y la J = 74

rand()%'J' : genara un numero entre 0 - 'J'
'A' + rand()%'J' : genera un numero entra 'A' - 'J'

Luego si solo queres que aparesca la A y la J generas una condicion donde diga que si
si variable es igual a A o variable es igual a J
continuar
de lo contrario
regresar


Nota: No estoy seguro del uso del rand, probalo y contame si te anda

Saludos
  #6 (permalink)  
Antiguo 24/01/2012, 14:46
(Desactivado)
 
Fecha de Ingreso: agosto-2011
Mensajes: 327
Antigüedad: 10 años, 4 meses
Puntos: 3
Respuesta: Random de letras ? a - i pero solo mostrar 2 ?

Cita:
Iniciado por cesar_casla Ver Mensaje
hola drakgoku1! para generar un random de A - J podrias hacer:
Código C:
Ver original
  1. variable='A'+(rand()%'J');
las comillas simples te dejan operar con el ASCII que equivale a la letra, por ej: la letra A equivale a 65 (si es q no me equivoco) y la J = 74

rand()%'J' : genara un numero entre 0 - 'J'
'A' + rand()%'J' : genera un numero entra 'A' - 'J'

Luego si solo queres que aparesca la A y la J generas una condicion donde diga que si
si variable es igual a A o variable es igual a J
continuar
de lo contrario
regresar


Nota: No estoy seguro del uso del rand, probalo y contame si te anda

Saludos

Claro pero no me gustaría ver el resultado

Quiero hacerlo así table[i][x]='a'+(rand()%'j')

i x = integer

Estoy pensando en el if.

Pero claro si tu me dices la respuesta yo no pienso :)

Dejame hasta mañana alemenos , para ver si FUNCA almenos

Un saludo
  #7 (permalink)  
Antiguo 24/01/2012, 14:49
 
Fecha de Ingreso: diciembre-2011
Ubicación: Crespo - Entre Rios
Mensajes: 155
Antigüedad: 10 años, 1 mes
Puntos: 25
Respuesta: Random de letras ? a - i pero solo mostrar 2 ?

te doy una pista, podes hacer una formula matematica que dependiendo del resultado de rand() te de 65 ó 74 que son los codigos ascii de la letra A y J respectivamente
  #8 (permalink)  
Antiguo 25/01/2012, 12:28
(Desactivado)
 
Fecha de Ingreso: agosto-2011
Mensajes: 327
Antigüedad: 10 años, 4 meses
Puntos: 3
Respuesta: Random de letras ? a - i pero solo mostrar 2 ?

Cita:
Iniciado por starfix Ver Mensaje
te doy una pista, podes hacer una formula matematica que dependiendo del resultado de rand() te de 65 ó 74 que son los codigos ascii de la letra A y J respectivamente
Buenas noches ,

Ya pude con un poco de ayuda , hice :

cree una var para el random la puse dentro , si era 1 puse una letra y si era 0 le puse otra y a contar :)

Una pregunta , como es que los argentinos o de por ahí que tiene este accento " podes hacer una f...." , soys muy buenos en programación ? , en tema videos igual , busco un video de sql y me sale gente así , no hay españoles esplicando nada bien xD como es ?

Un saludo :)
  #9 (permalink)  
Antiguo 25/01/2012, 13:32
 
Fecha de Ingreso: diciembre-2011
Ubicación: Crespo - Entre Rios
Mensajes: 155
Antigüedad: 10 años, 1 mes
Puntos: 25
Respuesta: Random de letras ? a - i pero solo mostrar 2 ?

bueno, gracias por que pienses que somos buenos, pero en realidad no es asi, cada país tiene sus programadores buenos y malos, en España tambien hay buenos programadores, podes mirar en este foro y encontraras varios.

saludos y pone la solucion para ver como te quedo
  #10 (permalink)  
Antiguo 25/01/2012, 14:45
(Desactivado)
 
Fecha de Ingreso: agosto-2011
Mensajes: 327
Antigüedad: 10 años, 4 meses
Puntos: 3
Respuesta: Random de letras ? a - i pero solo mostrar 2 ?

Cita:
Iniciado por starfix Ver Mensaje
bueno, gracias por que pienses que somos buenos, pero en realidad no es asi, cada país tiene sus programadores buenos y malos, en España tambien hay buenos programadores, podes mirar en este foro y encontraras varios.

saludos y pone la solucion para ver como te quedo
Buenas noches ,

muy fácil visto el resultado, te lo escribo por encima :

var = rand () % 2

if ( var == 1 )
{
print f("letra")
}
else
{
printf ("letra")
}

Un saludo.
  #11 (permalink)  
Antiguo 25/01/2012, 22:03
 
Fecha de Ingreso: febrero-2003
Ubicación: D.F.
Mensajes: 163
Antigüedad: 18 años, 11 meses
Puntos: 22
Respuesta: Random de letras ? a - i pero solo mostrar 2 ?

Hola, revisa el siguiente código porque puede ayudarte a simplificar las cosas.
Código C:
Ver original
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4.  
  5.  
  6. int main(){
  7.     srand (time(NULL));
  8.     printf("Letra aleatoria: %c", "AJ"[rand()%2]);
  9.     return 0;
  10. }
Saludos.

Etiquetas: letras, random
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:30.