Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Ayuda con rand y srand en matriz

Estas en el tema de Ayuda con rand y srand en matriz en el foro de C/C++ en Foros del Web. Hola....es mi primer post....., lo que pasa es que necesito ayuda llenando una matriz con rand y srand..... -------------------------------------------------------------------- srand(time(0)); for(i=0;i<tam;i++){ for(j=0;j<tam;j++){ tableroprinc[i][j]=rand()%((tam*tam)/2); } } ...
  #1 (permalink)  
Antiguo 14/06/2009, 15:01
 
Fecha de Ingreso: mayo-2009
Mensajes: 17
Antigüedad: 15 años
Puntos: 0
Exclamación Ayuda con rand y srand en matriz

Hola....es mi primer post....., lo que pasa es que necesito ayuda llenando una matriz con rand y srand.....

--------------------------------------------------------------------
srand(time(0));
for(i=0;i<tam;i++){
for(j=0;j<tam;j++){
tableroprinc[i][j]=rand()%((tam*tam)/2);
}
}
---------------------------------------------------------------------

y lo que pasa es que me la lena, pero no tengo ni idea como hacer PARA QUE SOLO MANDE DOS VALORES DEL MISMO NUMERO.

por ejemplo: dos 2, dos 3, dos 0, dos 1...
osea que solo se haya una repeticion de cada numero dentro de la matriz. (es para un juego de memoria)


gracias!...
  #2 (permalink)  
Antiguo 14/06/2009, 15:03
 
Fecha de Ingreso: mayo-2009
Mensajes: 17
Antigüedad: 15 años
Puntos: 0
Respuesta: Ayuda con rand y srand en matriz

aclaro que tam es par y e pueden dar el ejemplo con tam=6...gracias
  #3 (permalink)  
Antiguo 14/06/2009, 17:16
 
Fecha de Ingreso: diciembre-2008
Ubicación: Vigo, Spain
Mensajes: 141
Antigüedad: 15 años, 5 meses
Puntos: 12
Respuesta: Ayuda con rand y srand en matriz

Cita:
Iniciado por nightwolf2619 Ver Mensaje
aclaro que tam es par y e pueden dar el ejemplo con tam=6...gracias
Eso no aclara nada en mi caso, enrreda mas.

Tendrias que ir poniendo numeros aleatoriamente, pero antes de ponerlo, comprobar que solo se repita una vez ese numero.

Código:
srand(time(0));
for(i=0;i<tam;i++)
{
       for(j=0;j<tam;j++)
       {
                repetido=0;
                sw=0;
                while(sw==0)
                {
                          aux=rand()%((tam*tam)/2);
                           for(x=0;x<tam;x++)
                           {
                                    for(y=0;y<tam;y++)
                                    {
                                         if(tableroprinc[x][y]==aux)
                                               repetido++;
                                     } 
                            }
                            if(repetido!=2)
                            {
                               sw=1;//condicion que indica que ya puedes mover
                                       //los otros bucles y salir del while
                               tableroprinc[i][j]=aux;
                            }
                            else
                                    repetido=0;
                 }
       }
}
Espero que eso te lo solucione, y espero que intentes resolverlo por ti mismo la prox :P
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:28.