Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - socorroz

#1
hola quiero hacer que un array de 5 elementos utilice la función rand() para que sus elementos cambien de valor de acuerdo a un rango.

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.



#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!!  :P

#2
Buenas, estoy leyendo sobre matrices y he terminado haciendo un ejemplo yo mismo gracias a lo que he aprendido hasta ahora, la cosa es que el output del programa no es lo que espero, vengo por un poco de ayuda:


#include <stdio.h>
/* Asignar a una matriz[10]
asignado valores del 1 al 10
usando un loop for*/

main()
{
int i, j;
int matriz[9];

for (i = 0; i < 10; ++i) //i<10=9

for (j = 1; j < 11; ++j) //j<11=10
    matriz[i] = j;

    printf(" Valor de Matriz[%d] equvale = %d",i, j);
}


El output del programa es: Valor de Matriz[0] equvale = 0

y no Lo que espero que sería una lista con todos los valores de cada Matriz

Gracias por su ayda!!