• Lunes 18 de Noviembre de 2024, 17:25

Autor Tema:  Ayuda Con Un Arreglo Unidimensional  (Leído 1173 veces)

negor

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Ayuda Con Un Arreglo Unidimensional
« en: Miércoles 2 de Agosto de 2006, 05:50 »
0
buenas, necesito ayuda porfavor, necesito crear una FUNCION (no un programa) que desordene un arreglo unidimensional, por ejemplo uno para barajar naipes...

void BarajarNaipes(int naipes[52]);
{

?


}

de ante mano muchas gracias.

Geo

  • Miembro de PLATA
  • *****
  • Mensajes: 1011
  • Nacionalidad: mx
    • Ver Perfil
    • http://hsblog.mexchip.com
Re: Ayuda Con Un Arreglo Unidimensional
« Respuesta #1 en: Miércoles 2 de Agosto de 2006, 05:57 »
0
¿Es tu primer post y ya quieres que hagan cosas por ti? En serio, algo así lo haría si lo pidiera alguien con más tiempo en los foors (y seguro que no lo van a pedir :P, bueno, no sea que ahora se les ocurra :D).

Ya puestos, algo fácil es, inicializa el array en 0, haz un ciclo que recorra todas las cartas, en cada iteración un ciclo interno que elija una posición al azar y que termine cuando encuentre una posición vacía, en esa posición vacía colocas la carta en turno.

Saludos,
JJ (Geo).
La imaginación es el límite.
Hardware & Software | Mexchip

negor

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Re: Ayuda Con Un Arreglo Unidimensional
« Respuesta #2 en: Miércoles 2 de Agosto de 2006, 06:10 »
0
qué tiene que ver cuantos mensajes lleve con que me ayuden? esto es un foro de ayuda o no ? o es un club donde hay que tener algun requisito para que te ayuden ? en fin.
La verdad es que soy nuevo en C y necesito crear esta FUNCION, hice algo, ¿me podrian decir como ando porfavor? o si esta malo o que necesito arreglar o si tienen mejores ideas, etc.

de ante mano gracias y saludos

void BarajarNaipes(int naipes[52]);
{
int estalibre[52];
int desordenado[52];
int i,pos;
time_t t;


srand((unsigned) time(&t));

//ciclo
for(i=0;i<52;i++) {
naipes=i;
estalibre=1;//1 -> libre, 0 -> ocupado
}

for(i=0;i<52;i++) {
pos=rand()%52;
//este bucle evita que dos elementos sean guardados en la misma posicion
while (estalibre[pos]==0)pos=rand()%52;
desordenado[pos]=naipes;
estalibre[pos]=0;
}

Geo

  • Miembro de PLATA
  • *****
  • Mensajes: 1011
  • Nacionalidad: mx
    • Ver Perfil
    • http://hsblog.mexchip.com
Re: Ayuda Con Un Arreglo Unidimensional
« Respuesta #3 en: Miércoles 2 de Agosto de 2006, 16:32 »
0
Cita de: "negor"
qué tiene que ver cuantos mensajes lleve con que me ayuden? esto es un foro de ayuda o no ? o es un club donde hay que tener algun requisito para que te ayuden ? en fin.
La verdad es que soy nuevo en C y necesito crear esta FUNCION, hice algo, ¿me podrian decir como ando porfavor? o si esta malo o que necesito arreglar o si tienen mejores ideas, etc.

de ante mano gracias y saludos

void BarajarNaipes(int naipes[52]);
{
int estalibre[52];
int desordenado[52];
int i,pos;
time_t t;


srand((unsigned) time(&t));

//ciclo
for(i=0;i<52;i++) {
naipes=i;
estalibre=1;//1 -> libre, 0 -> ocupado
}

for(i=0;i<52;i++) {
pos=rand()%52;
//este bucle evita que dos elementos sean guardados en la misma posicion
while (estalibre[pos]==0)pos=rand()%52;
desordenado[pos]=naipes;
estalibre[pos]=0;
}
Me expresé mal, me refería a que muy probablemente te habrías registrado para que te hicieran tu tarea.

Ahora dime, ¿qué problemas te da tu función? (Tengo cierta idea de los errores que puedes tener, pero no lo voy a hacer por ti, ¿qué problemas tienes?)

Saludos,
JJ (Geo).
La imaginación es el límite.
Hardware & Software | Mexchip

negor

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Re: Ayuda Con Un Arreglo Unidimensional
« Respuesta #4 en: Miércoles 2 de Agosto de 2006, 21:27 »
0
ya lo hice, gracias de todos modos.