Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Rockmore en 4 Diciembre 2010, 18:42 pm



Título: [C] Entremezclar valores de un vector
Publicado por: Rockmore en 4 Diciembre 2010, 18:42 pm
Saludos. Traigo un fragmento de programa en el cual he de crear un juego de black jack. Bien, más o menos tengo una idea de cómo montármelo, sin embargo, al ir probando poco a poco obtengo un problema curioso, y es que el código compila bien, sin embargo, el programa se queda colgado. Concretamente, creo que el problema está al barajar el vector en el que están contenidos los valores de las cartas, ya que es a partir de ahí donde se bloquea, aunque el prompt siga parpadeando.
Código
  1.    for(i=0,j=0;i<4;i++){
  2.        for(val=1;val<=13;j++,val++){
  3.            baraja[j]=val;
  4.        }
  5.    }//Creacion de la baraja
  6. .....................
  7. .....................
  8.        for(it=0;it<500;i++){
  9.            i=rand()%52;
  10.            do{
  11.                j=rand()%52;
  12.            }while(i==j);
  13.            temp=baraja[i];
  14.            baraja[i]=baraja[j];
  15.            baraja[j]=temp;
  16.        }//Barajando la baraja

Al principio pensé que eran demasiadas iteraciones al barajar, pero ni con 5 se resolvía. Hay un printf seguido de un getche tras barajar a modo de comprobación, y al no aparecer es lo que me hace sospechar que pueda haber algún error en ese bucle. ¿Alguna idea?


Título: Re: [C] Entremezclar valores de un vector
Publicado por: do-while en 4 Diciembre 2010, 19:00 pm
for(it=0;it<500;it++){

¡Saludos!


Título: Re: [C] Entremezclar valores de un vector
Publicado por: Rockmore en 4 Diciembre 2010, 19:19 pm
Cierto, qué error más tonto. Había creado un bucle infinito por una letrita de nada.
¡Muchas gracias!