Mostrando entradas con la etiqueta números aleatorios. Mostrar todas las entradas
Mostrando entradas con la etiqueta números aleatorios. Mostrar todas las entradas

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;
}

martes, 16 de diciembre de 2008

Ejercicio del juego de dados

#include
#include
#include
#include
int explica_juego(){
  char jugar;
  int respuesta=0;
  printf("\n****************************");
  printf("\n**** GRAN JUEGO DE DADOS ***");
  printf("\n****************************");
  printf("\n\n Este juego consiste en tirar el dado en tres turnos");
  printf("\nGana el jugador cuya suma de puntos sea mayor");
  printf("\nDesea usted jugar (s/n)");
  scanf("%c",&jugar);
  if(jugar=='s') respuesta=1;
  return(respuesta);
}
int tirar_dado(int n_caras){
    int respuesta;
    respuesta=rand()%6+1;
    return(respuesta);
}
int muestre_resultados(int puntuaciones[]){
    int respuesta=0;
    int mayor_puntuacion=puntuaciones[0];
    int jugador;
    printf("\n*************************");
    printf("\n******  RESULTADOS   ****");
    printf("\n*************************");
    for(jugador=0;jugador<3;jugador++){
     printf("\nJUGADOR %d = %d puntos",jugador+1,puntuaciones[jugador]);
     if(puntuaciones[jugador]>mayor_puntuacion){
       mayor_puntuacion=puntuaciones[jugador];
       respuesta=jugador;
     }
    }
    return(respuesta);  
    
    }
main(){
   int opcion=0,turno,valor_dado,jugador,ganador;  
   int puntuaciones[3];  
   int semilla;
   //Inicializamos el generador de números
   //aleatorios
   semilla=time(NULL);
   srand(semilla);
   //Ponemos el casillero de puntos a 0
   for(jugador=0;jugador<3;jugador++)
     puntuaciones[jugador]=0; 
  //Explicación del juego
  opcion=explica_juego();
  while(opcion==1){
  //Juego
  printf("\nCOMIENZA EL JUEGO");
  for(turno=0;turno<3;turno++){
    system("cls");
    printf("\nTURNO numero %d",turno+1);
    fflush(stdin);
    getchar();
    for(jugador=0;jugador<3;jugador++){
       printf("\nTira el jugador %d",jugador+1);
       fflush(stdin);
       getchar();
       valor_dado=tirar_dado(6); 
       printf("\nHa salido %d",valor_dado);
       puntuaciones[jugador]+=valor_dado;
       printf("\nAcumula %d puntos", puntuaciones[jugador]); 
    }                      
  }
  //Resultados 
  ganador=muestre_resultados(puntuaciones);
  printf("\nHa ganado el jugador %d",ganador+1);
  
  opcion=explica_juego();      
  }   
       
       
       
       
       
}