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

Programa devuelve letras abecedario al azar.

Estas en el tema de Programa devuelve letras abecedario al azar. en el foro de C/C++ en Foros del Web. Necesito ayuda, no se como hacer un programa que te devuelva un numero determinado de letras aleatorias....
  #1 (permalink)  
Antiguo 29/01/2014, 08:55
 
Fecha de Ingreso: enero-2014
Mensajes: 1
Antigüedad: 9 años
Puntos: 0
Programa devuelve letras abecedario al azar.

Necesito ayuda, no se como hacer un programa que te devuelva un numero determinado de letras aleatorias.
  #2 (permalink)  
Antiguo 29/01/2014, 09:43
Avatar de vangodp  
Fecha de Ingreso: octubre-2013
Mensajes: 934
Antigüedad: 9 años, 3 meses
Puntos: 38
Respuesta: Programa devuelve letras abecedario al azar.

Explicarte como funciona estas cosas es muy dificíl en pocas lineas.
Te dejo un código en cpp
y unas pajinas sobre la funcion rand y srand.
http://codigoc.org/354-obtener-numer...n-c-rand-srand
Lo que hacemos es generar numeros aleatórios con rand de 97 a 122, que representan las letras de la a a la z según la tabla asc2:http://www.informativos.net/public/i...CII/tASCII.png


luego lo convertimos los números a chars con un cast antes de mostrar.
¿Parece simples?Lo es! Si lo sabes ;)


Código C++:
Ver original
  1. #include <iostream>
  2. #include <time.h>
  3. #include <windows.h>
  4.  
  5. using namespace std;
  6. int aleatorio();
  7. int main (){
  8.     srand(time(NULL)); // 1º necesita para cerar rand o siempre dara los mismo numeros
  9.     int num_letras = 0;
  10.     int n = 0;
  11.     cout << "cuantas letras aleatórias quieres generar?: ";
  12.     cin >> num_letras;
  13.  
  14.     for ( int i = 0 ; i <= num_letras ; i++ ){
  15.         n = aleatorio();
  16.         cout << char(n) << ", "; // 3ºconvertimos los numeros en chars
  17.     }
  18.  
  19.     cin.ignore();
  20.     return 0;
  21. }
  22. int aleatorio() {
  23.     // rand syntax: <int> = (<numeromenor> + rand() % ( <numeromayor> - <numeromenor> ) )
  24.     int n = ( 97 + rand() % (122 - 97) ); // 2º generar numeros del 97 al 119
  25.     return n;
  26.  }
  #3 (permalink)  
Antiguo 30/01/2014, 07:26
Avatar de L3m0n  
Fecha de Ingreso: diciembre-2011
Mensajes: 219
Antigüedad: 11 años, 1 mes
Puntos: 46
Respuesta: Programa devuelve letras abecedario al azar.

Tienes dos opciones, o haces lo que ha dicho el compañero de antes o creas un array con las 26 letras, generas un numero aleatorio entre 0 y 25 y vas al array.

Etiquetas: abecedario, devuelve, letras, numero, programa
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 04:27.