Los tres primeros elementos del array para el abecedario (a-z),
los dos últimos elementos del array para números del 1 al 9.
El rango es de acuerdo a la tabla ascii, a-z(97 a 122), 0-9(48 al 57).
El problema es que no logro que la función rand() obedezca a éste rango, siempre sale un caracter
fuera de éste a pesar que pienso que la utilización de la función es la correcta.
En síntesis lo que quiero es restringir dos rangos de la tabla ascii, uno para el abecedario y otro para los números del 1 al 9 sin embargo rand() no obedece al rango.
Código:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define SIZE 5
int main( void )
{
size_t i;
unsigned int randomabc, randomnum;
int abcdario[ SIZE ] = { 0, 0, 0, 0, 0 };
srand( time( NULL ) );
// randomize
for ( i = 0; i < SIZE; ++i )
{
// construccion del rango aleatorio a-z(97,122), 0-9(48,57).
randomabc = 97 + rand() % 122;
randomnum = 48 + rand() % 57;
if ( i < 3 )
{
abcdario[ i ] = randomabc;
}
if ( i >= 3 )
{
abcdario[ i ] = randomnum;
}
// al final utilizo %c para convertir el entero al caracter
printf( "%c,", abcdario[ i] );
}
}
agradezco su ayuda!!