Mezclar arreglo en C

Mezclar arreglo en C (orden aleatorio)

En este post te muestro cómo mezclar un arreglo en C, es decir, aleatorizarlo o randomizarlo; como le llames. De este modo al final tendremos el arreglo mezclado, ordenado de forma aleatoria.

Para lograrlo simplemente necesitamos recorrer el arreglo y en cada iteración:

  1. Obtener un índice aleatorio que esté en el rango de 0 a longitud - 1
  2. Intercambiar el elemento en el índice del ciclo por el índice aleatorio

¡Vamos allá!

Mezclar arreglo en C

He explicado el funcionamiento arriba. Comenzamos definiendo la función que nos dará un número aleatorio y alimentando a srand.

La función queda así:

Alimentamos a srand:

srand(getpid());

Después definimos el arreglo y calculamos su longitud:

Imprimimos el original para que la diferencia se note:

Ahora sí viene la parte del algoritmo para hacer un arreglo aleatorio en C:

Obtenemos un índice aleatorio en la línea 3. Después, el valor en el índice i es respaldado temporalmente en temporal. Luego, al elemento que está en i le ponemos lo que hay en el índice aleatorio y al índice aleatorio le ponemos el temporal.

Poniendo todo junto

Mezclar arreglo en C
Mezclar arreglo en C

Al final de todo, imprimimos el arreglo que ya estará ordenado de forma aleatoria. El código completo queda así:

Si quieres probar el código en línea puedes hacerlo aquí. ¿Más ejercicios sobre C? click aquí.

Encantado de ayudarte


Estoy disponible para trabajar en tu proyecto, modificar el programa del post o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.

No te pierdas ninguno de mis posts

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.

Dejar un comentario