Ya tengo el programa listo, alguna mano inocente o le doy caña?
Ahí dejo el spaghetti code. No me pegueis, no soy informático. Para el que no sepa nada de C lo comento: Se trata de hacer dos listas de 32 elementos llamadas jugadores y equipos. Inicialmente se ponen las listas a 0. Se genera un número aleatorio del 1 al 32 inclusives y se asigna a un jugador, se comprueba que no está adjudicado y se hace lo mismo con el equipo. Si la pareja está libre se almacena y se pasa al número 2 (y así sucesivamente) si no está libre se borra esa pareja y se vuelven a buscar los dos números aleatorios. Al estar las 32 parejas jugador-equipo sin repetir y completas, se imprimen todas por pantalla en el orden que salieron, de esta manera tendremos los grupos.
Okey?
Edito: dejo el código erróneo y pongo las correcciones al lado, ahora ya va bien. Sois libres de usar este programa pero darme algo para comer.
#include
#include
int i=0, j=0;
int jugadores[31], equipos[31];
int busca(int k, int m[32]);
main() {
for (i=0; i<32; i++) { jugadores[i]=0; equipos[i]=0; }
srand (getpid());
i=0;
while (i<32) {
j=(rand() % 32) + 1;
if (!busca(j, jugadores)) {
jugadores[i]=j;
j=rand() % 32; <-- ERROR j=(rand() % 32) + 1;
if (!busca(j, equipos)) {
equipos[i]=rand() % 32; <--- ERROR! equipos[i]=j;
i++;}
jugadores[i]=0;
}
}
for (i=0; i<32; i++) {
printf("Jugador: %i\t Equipo: %i\n", jugadores[i], equipos[i]);}
}
int busca(int k, int m[32]) {
int l;
for (l=0; l<32; l++) {
if (k==m[l]) return 1;
} return 0;
}