[ Foro de C ]

generador de numeros aleatorios

04-May-2021 13:27
Invitado (Sea)
1 Respuestas

Necesito un programa que coja los jugadores que han introducido los usuarios y les de un orden aleatorio a cada uno para que se repita durante el resto de la partida. He  pensado en que podría ser con un generador de números aleatorios dependiente del número de jugadores.


06-May-2021 21:09
Invitado (nico)

   hola sea

   si como dices ya estan introuducidos los jugadores
   y sabes la cantidad que son lo que te sugiero es que
   hagas intercambios al azar
   
   puedes hacerlo de dos maneras una mas usual seria
   intercambiar los nombres entre dos posiciones al azar
   que seria costoso
   
   el otro es crear un array del mismo número que jugadores
   cada uno con el número de su posicion ej indice[0]=0
   y hacer intercambios al azar con estos números
   para luego hacer juador[ indice[ i ] ] donde i es el iterador
   del bucle for dando una lista distinta y repetitiva es
   decir el jugador[indice[2]] siempre sera el mismo en la
   nueva lista
   
   para el intercambio puede hacerlo generando dos números
   talque rand() % num_jug, el resultado ira desde 0 a
   num_jug-1, que seran los indices de tu array y haces un
   intercambio entre esas dos posiciones
   
   todo esto dentro de un for o dos por ej
   
   for(int i=tot_jug/4; i; i--)
       for(int j=tot_jug/4; j; j--)
   
   e intercambiar posiciones o nombres de jugadores    
   los dos for es para multiplicar intercambios e ir
   jugando con el divisor hasta que quede barajado
   a tu conveniencia
   
   bueno espero que pongas por aquí tu código a ver
   como te queda
   
   suerte ;-)
   






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)