Ver Mensaje Individual
  #2 (permalink)  
Antiguo 29/01/2014, 09:43
Avatar de vangodp
vangodp
 
Fecha de Ingreso: octubre-2013
Mensajes: 934
Antigüedad: 10 años, 7 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.  }