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

carreras de cabllos problemas con random

Estas en el tema de carreras de cabllos problemas con random en el foro de C/C++ en Foros del Web. hola comunidad, tengo un problema con random, ya que hice una carrera de caballos y aun teniendo el random el caballo numero 6 siempre gana... ...
  #1 (permalink)  
Antiguo 23/06/2012, 19:14
Avatar de W_NEMESIS  
Fecha de Ingreso: mayo-2012
Ubicación: pasto
Mensajes: 25
Antigüedad: 12 años
Puntos: 1
Exclamación carreras de cabllos problemas con random

hola comunidad, tengo un problema con random, ya que hice una carrera de caballos y aun teniendo el random el caballo numero 6 siempre gana... alguna idea de xq?

Código C++:
Ver original
  1. #include <cstdlib>
  2. #include <iostream>
  3.  
  4. using namespace std;
  5.  
  6. char pos[6];
  7.  
  8. int i,j,co,apu,cab,num;
  9. int caballos[6][6];
  10. int main(int argc, char *argv[])
  11. {
  12.     co=0;
  13.         for (int i=0;i<=5;i++)
  14.         {
  15.             for (int j=0;j<=5;j++)
  16.             {
  17.                 caballos[i][j]=co;
  18.             }
  19.         }
  20.        
  21.         for (int i=0;i<=5;i++)
  22.         {
  23.             co++;
  24.             caballos[5][i]=co;
  25.         }
  26.        
  27.         //muestra por pantalla
  28.         cout<<"empieza la carrera!\n\n";
  29.         do{
  30.             //inicio de la carrera con randoms
  31.             num=1+rand()%(7-1);//este es, y siempre m da el mismo orden
  32.             cout<<"El caballo "<<num<<" avanza una posicion"<<endl;
  33.             for (int i=0;i<=5;i++)
  34.             {
  35.                 for (int j=0;j<=5;j++)
  36.                 {
  37.                     if(caballos[i][j]==num)
  38.                     {
  39.                          caballos[i-1][j]=num;
  40.                     }
  41.                 }
  42.             }
  43.             //modificado!!!
  44.             for (int i=0;i<=5;i++)
  45.             {
  46.                 cout<<"\n-------------------------\n| ";
  47.                 for (int j=0;j<=5;j++)
  48.                 {
  49.                     cout<<caballos[i][j]<<" | ";
  50.                 }
  51.             }
  52.             cout<<"\n-------------------------\n\n";
  53.             system("pause");
  54.             system("cls");
  55.            }while(caballos[0][0]==0 || caballos[1][0]==0 || caballos[2][0]==0 || caballos[3][0]==0 || caballos[4][0]==0 || caballos[5][0]==0);
  56.            cout<<"\n\nganador";
  57.     system("PAUSE");
  58.     return EXIT_SUCCESS;
  59. }
  #2 (permalink)  
Antiguo 24/06/2012, 06:56
 
Fecha de Ingreso: enero-2012
Mensajes: 68
Antigüedad: 12 años, 3 meses
Puntos: 0
Respuesta: carreras de cabllos problemas con random

Para obtener un número aleatorio con la función rand, antes debes usar
srand(time(NULL));

Al menos en C, en C++ supongo que también. En C está incluida la función en time.h

Etiquetas: carreras, int, random
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 11:16.