miércoles, 17 de diciembre de 2008

Ejercicio para llenar un vector con números al azar

/*Primero, el cuerpo principal*/
#include
#include "funciones_vector.h"

main(){
       int vector[10];
       inicializar_aleatorios();
       inicializar_vector(vector);
       mostrar(vector);
       rellena_azar(vector);
       getchar();
       mostrar(vector);
       getchar();
       getchar();
}
/*En el fichero llamado "funciones_vector.h" incluimos las funciones necesarias*/
/*Incializamos el generador de números aleatorios*/
/*Incializamos el generador de números aleatorios*/
#include
#include

void inicializar_aleatorios(){
     int semilla;
     semilla=time(0);
     srand(semilla);
     return;
}


/*Esta función genera un número al azar
entre 0 y 9, ambos incluidos*/
int tirada_dado(int n_caras){
    int respuesta;
    respuesta=rand()%10;
    return(respuesta);     
}

/*Esta función toma un vector de numeros
enteros y graba en cada una de las posiciones
un cero*/ 
void inicializar_vector(int vector[]){
     int cont;
     for(cont=0;cont<10;cont++)
       vector[cont]=0;
     return;
}
/*Esta función muestra por pantalla el contenido
del vector*/
void mostrar(int vector[]){
     int cont;
     printf("\n*********************");
     printf("\n*");
     for(cont=0;cont<10;cont++){
       printf("%d",vector[cont]);
       printf("*");
     }
     printf("\n*********************");
     return;
}
/*Esta función rellena el vector con números al azar*/

void rellena_azar(int vector[]){
     int cont,cont2,aux,repetir;
     //Rellenamos el vector
     for(cont=0;cont<10;cont++){
       do{
         /*Para cada posición, generamos
         un número al azar*/                         
         aux=tirada_dado(9);
         printf("\nHa salido un %d",aux);
         getchar();
         /**Vamos a comparar el número
         que nos ha salido con los números
         que ya tenemos guardados en las 
         casillas anteriores del vector*/
         for(cont2=0;cont2 <>
                                         
           if(aux==vector[cont2]){
              printf("\n %d coincide con lo que hay en la casilla %d",aux,cont2);
              repetir=1;
              break;
              }
           else{
              repetir=0;
           }
         }
       }while(repetir==1);
       vector[cont]=aux;
     }   
     return;
}

0 comentarios: